2010-10-20 72 views
1

我有以下的form_for标签:的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

但操作路径是全乱了......

它应该是 /projects /#PROJECTID#/ permissions/useronproject

但取而代之的是Rails正在制作它

/projects/#PERMISSIONID#/ 

这是破坏一切。

这对你有意义吗?谢谢

+1

你应该只需要'form_for'类似'(@project,:remote => true)',对吧? (也许我错过了什么?) – 2010-10-20 04:04:58

回答

1

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

0

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

= form_for [@permission.project, @permission] 

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

= form_for @permission, :remote => true