2010-10-20 9 views
1

J'ai la balise form_for suivante:Rails 3 - Aide avec une étiquette de 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"> 

L'ID ressemble à droite = edit_permissions_52

Mais le chemin d'action est tout foiré ...

Il doit être /projects/# PROJECTID #/permissions/useronproject

mais à la place Rails en fait

/projects/#PERMISSIONID#/ 

qui brise tout.

Est-ce que cela a du sens pour vous? merci

+1

Vous devriez simplement donner à 'form_for' quelque chose comme' (@project,: remote => true) ', n'est-ce pas? (Peut-être qu'il me manque quelque chose?) –

Répondre

1

Si vous souhaitez un ID de projet spécifique, vous devez utiliser @project dans le tableau, et non pas: projects. : les projets sont pour une collection, pas un spécifique.

0

@permission est-elle imbriquée dans les projets? Si oui, peut-être essayer quelque chose comme

= form_for [@permission.project, @permission] 

Il semble qu'il essaie d'utiliser l'ID @permission comme id_projet. Si ce n'est pas le cas, vous devez simplement lui envoyer l'objet @permission (il semble probable que c'est ce que vous voulez).

= form_for @permission, :remote => true