simple_form_for 使用自定义控制器操作
simple_form_for with custom controller action
我的用户索引视图中的这一行:
<%= simple_form_for current_user, :url => user_change_client_path,
:method => :patch,
:id => current_user.id do |f| %>
生成以下错误:
No route matches {:action=>"change_client", :controller=>"users"} missing required keys: [:user_id]
我在控制器中定义了 change_client 操作。在我的 routes.rb 中,我有:
resources :users, only: [:index] do
patch 'change_client'
patch 'approve'
end
佣金路线显示:
user_change_client PATCH /users/:user_id/change_client(.:format) users#change_client
user_approve PATCH /users/:user_id/approve(.:format) users#approve
我做错了什么导致了错误?
您的路线如下:
user_change_client PATCH /users/:user_id/change_client(.:format)
需要一个 user_id
参数。当你调用这个助手时,像这样将你当前的用户传递给它:
user_change_client_path(current_user)
我的用户索引视图中的这一行:
<%= simple_form_for current_user, :url => user_change_client_path,
:method => :patch,
:id => current_user.id do |f| %>
生成以下错误:
No route matches {:action=>"change_client", :controller=>"users"} missing required keys: [:user_id]
我在控制器中定义了 change_client 操作。在我的 routes.rb 中,我有:
resources :users, only: [:index] do
patch 'change_client'
patch 'approve'
end
佣金路线显示:
user_change_client PATCH /users/:user_id/change_client(.:format) users#change_client
user_approve PATCH /users/:user_id/approve(.:format) users#approve
我做错了什么导致了错误?
您的路线如下:
user_change_client PATCH /users/:user_id/change_client(.:format)
需要一个 user_id
参数。当你调用这个助手时,像这样将你当前的用户传递给它:
user_change_client_path(current_user)