如何将id传递给新用户路径?

时间:2015-04-28 16:43:17

标签: ruby-on-rails ruby ruby-on-rails-4

在组织的展示视图中,我可以单击图像转到新视图以为该组织创建新成员(关联1:组织的许多成员:成员)。单击图像时,我想将organization_id传递给控制器​​,以便它自动为其创建新成员的组织。怎么做?

包含在成员控制器中:

def new
  @organization = Organization.find(params[:id])
  @member = @organization.members.build
def end

组织中的链接显示视图:

<%= link_to image_tag("add.png", title: "add"), new_member_path(@organization) %>

现在点击链接会产生错误:

Couldn't find Organization with 'id'=

所以它似乎没有将id传递给控制器​​。我做错了什么?

2 个答案:

答案 0 :(得分:2)

将参数传递给:organization_id:

new_member_path(organization_id: @organization.id)

然后更改控制器以使用新参数:

@organization = Organization.find(params[:organization_id])

答案 1 :(得分:1)

通过嵌套资源,在id链接正确格式化后,Organization的{​​{1}}可以自动传递。

nested resources。这样做应该创建一个类似的路径:

new

@infused's answer是另一种方法。