Rails 3 - 帮助FORM_FOR标记

时间:2010-10-20 03:30:53

标签: ruby-on-rails ruby-on-rails-3

我有以下form_for标签:

<%=form_for [:project, @permission], :remote => true do |f| %>


<form method="post" id="edit_permission_52" data-remote="true" class="edit_permission" action="/projects/52/permissions/useronspace" accept-charset="UTF-8">

ID看起来正确= edit_permissions_52

但是行动路径都搞砸了......

应该是 /项目/#专案编号#/权限/ useronproject

但Rails正在制作它

/projects/#PERMISSIONID#/

这打破了一切。

这对你有意义吗?感谢

2 个答案:

答案 0 :(得分:1)

如果您想要特定的项目ID,则需要在数组中使用@project,而不是:projects。 :项目用于集合,而不是特定的集合。

答案 1 :(得分:0)

@permission是否嵌套在项目上?如果是这样,也许可以尝试像

这样的东西
= form_for [@permission.project, @permission]

看起来它正在尝试将@permission id用作project_id。如果没有,你只需要发送@permission对象(看起来这可能是你想要的)。

= form_for @permission, :remote => true