Ruby on rails 参数数量错误(4代表1..3)
我很难理解为什么使用销毁方法会发生这种情况,因为控制器和路由上的一切都正常 如果有人经过这条路,请给我一个提示 路线Ruby on rails 参数数量错误(4代表1..3),ruby-on-rails,ruby,ruby-on-rails-3,ruby-on-rails-3.1,ruby-on-rails-3.2,Ruby On Rails,Ruby,Ruby On Rails 3,Ruby On Rails 3.1,Ruby On Rails 3.2,我很难理解为什么使用销毁方法会发生这种情况,因为控制器和路由上的一切都正常 如果有人经过这条路,请给我一个提示 路线 resources :users, :as => "" do resources :sections, :only => [:new, :create, :destroy, :index] end 控制器 def destroy @section = Section.find(params[:id]) @section.destro
resources :users, :as => "" do
resources :sections, :only => [:new, :create, :destroy, :index]
end
控制器
def destroy
@section = Section.find(params[:id])
@section.destroy
redirect_to sections_url
flash[:notice] = "Section deleted"
end
查看
<%= render :partial => "section", :collection => @sections %>
“节”:集合=>@sections%>
部分
<%= link_to section.name, section_path(current_user, section) %>
<%= button_to 'Remove', current_user, section, :data => { :confirm => 'Confirm?' }, :class=> "buttom", method: :delete %>
{:confirm=>'confirm?},:class=>“buttom”,方法::delete%>
该错误意味着某些函数接受1到3个参数,但您给了它4个参数
请查看错误中的行号并查找函数,然后打开文档并查找如何使用该函数。通常函数作为实例方法和类方法的工作方式不同。该错误意味着某些函数接受1到3个参数,但您为其提供了4个参数
请查看错误中的行号并查找函数,然后打开文档并查找如何使用该函数。通常函数作为实例方法和类方法的工作方式不同。问题似乎在于此方法调用:
button_to 'Remove', current_user, section, :data => { :confirm => 'Confirm?' }, :class=> "buttom", method: :delete
必须将对当前用户
和节
作为数组传递:
button_to 'Remove', [current_user, section], confirm: 'Confirm?', class: "buttom", method: :delete
问题似乎在于此方法调用:
button_to 'Remove', current_user, section, :data => { :confirm => 'Confirm?' }, :class=> "buttom", method: :delete
必须将对当前用户
和节
作为数组传递:
button_to 'Remove', [current_user, section], confirm: 'Confirm?', class: "buttom", method: :delete
您的
按钮\u到
助手参数错误
试试这个:
<%= button_to 'Remove', {:action => :destroy, :user => current_user, :id => section}, {:data => { :confirm => 'Confirm?' }, :class=> "buttom", method: :delete} %>
:destroy,:user=>current_user,:id=>section},{:data=>{:confirm=>'confirm'},:class=>“buttom”,method::delete}%>
您的按钮指向
助手参数是错误的
试试这个:
<%= button_to 'Remove', {:action => :destroy, :user => current_user, :id => section}, {:data => { :confirm => 'Confirm?' }, :class=> "buttom", method: :delete} %>
:destroy,:user=>current_user,:id=>section},{:data=>{:confirm=>'confirm'},:class=>“buttom”,method::delete}%>
codeit,Stefan照你们说的做了,但没有成功,所以我尝试了这条路,成功了
<%= button_to 'Remove', section_path(current_user, section), :data => { :confirm => 'Confirm?' }, :class=> "button", method: :delete %>
{:confirm=>'confirm?},:class=>“button”,方法::delete%>
codeit,Stefan照你们说的做了,但没有成功,所以我尝试了这条路,成功了
<%= button_to 'Remove', section_path(current_user, section), :data => { :confirm => 'Confirm?' }, :class=> "button", method: :delete %>
{:confirm=>'confirm?},:class=>“button”,方法::delete%>
您能提供完整的错误消息吗?您的按钮\u到
助手参数错误..我忘了在destroy上添加路径!你能提供完整的错误信息吗?你的按钮到助手参数是错误的..我忘记在destroy上添加路径了!你是对的,来自[当前用户,部分]
的路径将是用户,部分路径
。是的,但我使用的是资源:用户:as=>“在路由上执行,所以只需部分路径工作。你是对的,[当前用户,部分]
的路径将是用户,部分路径
。是的,但我使用的是资源:用户:as=>”在路线上做,所以只需分段路径工作。