问题描述
|
我有一个
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
,而不是其他查询