如何将多个参数传递给我指定控制器和操作的link_to调用?

Jak*_*ith 1 controller ruby-on-rails link-to ruby-on-rails-3

我正在使用link_to来启动一个需要两个参数的控制器方法,以便执行我需要它执行的步骤.我似乎无法正确使用语法,我想知道是否因为您在使用此特定语法时无法传递多个参数.这是我到目前为止:

<%= link_to 'Select',
            {controller: 'groups',
             action: 'associate_subgroup_with_org',
             organization_id: organization.id,
             subgroup_id: @activity.group.id},
            class: 'button' %>

def associate_subgroup_with_org
    @organization = Group.find(params[:organization_id])
    @subgroup = Group.find(params[:subgroup_id])
    @subgroup.parent_group_id = @organization.id

    respond_to do |format|
      format.js
    end
end
Run Code Online (Sandbox Code Playgroud)

链接不起作用,我从不输入我的控制器操作associate_subgroup_with_org.有人可以帮助我正确理解语法吗?

Ama*_*arg 7

你可以这样做一条路线:

get '/groups/associate_subgroup_with_org' => 'groups#associate_subgroup_with_org', :as => :associate_subgroup
Run Code Online (Sandbox Code Playgroud)

你可以发送任何号码.link_to的参数:

<%= link_to 'Select',
            {controller: 'groups',
             action: 'associate_subgroup_with_org',
             organization_id: organization.id,
             subgroup_id: @activity.group.id},
            class: 'button' %>
Run Code Online (Sandbox Code Playgroud)

要么,

<%= link_to 'Select',associate_subgroup_path(organization_id: organization.id, subgroup_id: @activity.group.id),class: 'button' %>
Run Code Online (Sandbox Code Playgroud)