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}%>

codeitStefan照你们说的做了,但没有成功,所以我尝试了这条路,成功了

<%= button_to 'Remove', section_path(current_user, section), :data => { :confirm => 'Confirm?' }, :class=> "button",  method: :delete %>
{:confirm=>'confirm?},:class=>“button”,方法::delete%>

codeitStefan照你们说的做了,但没有成功,所以我尝试了这条路,成功了

<%= 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=>”在路线上做,所以只需分段路径工作。