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



在组织的显示视图上时,我可以单击图像转到新视图,为该组织创建新成员(关联 1:many 表示组织:成员)。单击图像时,我想将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传递给控制器。我做错了什么?

参数传递为 :organization_id:

new_member_path(organization_id: @organization.id)

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

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

通过嵌套资源,当您正确格式化new链接时,可以自动传递Organization id

请参阅嵌套资源。这样做应该创建一个类似这样的路由:

new_organization_member GET /organizations/:id/members/new(.format)

@infused的答案是另一种方法。

最新更新