2011-05-24 8 views
0

J'ai une page group#view, qui est accessible par un Person. Dans cette page, le Person peut voir les membres du group via les méthodes que j'ai développées. Le problème est que j'ai besoin de créer le modèle Honors en utilisant l'ID de group, l'ID de la person accédant à la page, et l'id d'un member de ce group.Rails - Obtenir 3 ID dans un formulaire

Dans mon contrôleur j'ai Honors:

def create 
    @person = Person.find(current_person) 
    @honor = Honor.create(:group => Group.find(params[:group_id]), 
    :person => Person.find(current_person), :honored => Person.find(current_person)) 
if @honor.save 
... 
end 

Le problème est dans ce :honored => Person.find(current_person), qui ne donne pas le droit ID et je ne savent plus comment l'obtenir.

À mon avis:

<% @asked_groupmembership.each do |agm| %> 
<% form_for(:honor, :url => honors_path(:group_id => @group.id, :person => current_person.id,:honor => agm.member.id)) do |f| %> 

Toute aide?

Merci.

+0

D'où vient current_person? – Ant

+0

Cela fonctionne à partir du contrôle de session. Celui qui accèdera à la page sera le 'current_person'. Je sais que dans ': honored => Person.find (current_person)', 'current_person' ne devrait pas être là, mais je ne sais pas quoi mettre. – Zeroz

Répondre

0

Si vous avez besoin de 3 composants pour créer correctement un enregistrement d'honneur, vous devez les transmettre à partir du formulaire. Vous semblez faire cette partie correctement.

:group_id => @group.id 
:person => current_person.id 
:honor => agm.member.id 

Pour créer l'enregistrement, accédez aux variables transmises. Comprendre ce qui précède n'est pas le plus efficace, mais utilisé à des fins démonstratives. Vous souhaiterez probablement éviter les hits de base de données redondants, par ex. :person => current_person plutôt qu'une autre requête

+0

Merci pour la réponse! Je vais essayer tout de suite. J'ai essayé quelque chose d'autre et j'ai ouvert une nouvelle question, essayant de passer ces identifiants à travers une «nouvelle forme». Pourriez-vous s'il vous plaît jeter un oeil? http://stackoverflow.com/questions/6112340/rails-need-help-in-this-form – Zeroz

Questions connexes