Rails-获取3个ID的形式

问题描述

| 我有一个
group#view
页面,可通过
Person
访问。在此页面中,ѭ1通过我开发的方法可以看到
group
的成员。问题是我需要使用来自ѭ3from的ID,来自
person
访问页面的ID和来自此
group
member
的ID创建模型
Honors
。 在我的
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
问题出在这11英镑中,那是没有获得正确的ID,我不知道如何获得它。 在我看来:
 <% @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| %>
有什么帮助吗? 谢谢。     

解决方法

如果您需要3个组件来正确创建荣誉记录,则需要从表单中传递它们。您似乎在正确地执行了该部分。
:group_id => @group.id
:person => current_person.id
:honor => agm.member.id
要创建记录,请访问传递的变量。
Honor.create(:group => Group.find(params[:group_id]),:person => Person.find(params[:person]),:honored => Person.find(params[:honor]))
了解以上内容并不是最有效的方法,而是用于说明性目的。您可能想避免多余的数据库命中,例如
:person => current_person
,而不是其他查询