仪表板范围内的发布请求不起作用

问题描述:

经过身份验证的用户应该能够通过他的仪表板上的表单添加钱包地址。在我的路线仪表板范围内的发布请求不起作用

scope '/dashboard', module: :dashboard do 
    get '/', to: 'dashboard#index', as: '/dashboard' 
    post '/eth_address', to: 'dashboard#eth_address' 
end 

我的形式

<%= form_for eth_address_path do |f| %> 
      <%= f.label :eth_address %> 
      <%= f.text_field :eth_address %> 
      <%= f.submit "Save" %> 
     <% end %> 
的意见

/仪表板/仪表板/ index.html.erb

而且我简单的控制器

Dashboard::DashboardController 

controllers/dashboard/dashboard_controller.rb 

与方法

def eth_address 
    eth_addr = params[:eth_address] 
    EthereumWallet.create(user_id: current_user.id, 
         address: eth_addr) 
end 

仪表板的Rails的路线

dashboard GET /dashboard(.:format) dashboard/dashboard#index 
eth_address POST /dashboard/eth_address(.:format) dashboard/dashboard#eth_address   

,并提交后我看到这一点:

No route matches [POST] "/dashboard" 

我不知道为什么它要求我从/ POST请求仪表板。

感谢

+0

显示您的路线。耙路径 – krishnar

+0

添加路由到问题 – zOs0

+0

form_for:eth_address_path – krishnar

使用别名eth_address

post '/eth_address', to: 'dashboard#eth_address', as: :eth_address 
+0

存在问题stil。 – zOs0

的解决办法是改变

form_for 

form_with 

和新形式

<%= form_with url: :eth_address_path do |f| %> 
      <%= f.label :eth_address %> 
      <%= f.text_field :eth_address %> 
      <%= f.submit "Save" %> 
     <% end %> 

作品相当不错