我想知道哪条路是最好的解决我的问题:
我有一个表格,以便通过选择字段来选择的人。如果在选择字段中缺少名称,则可以使用文本字段直接添加该人员的姓名。
- new.html.erb
中的表格是Team
控制器的new
操作的格式。
- 人员列表摘自People
模型。选择字段,文本字段和外键
def new
@team = Team.new
@people = People.all
end
我在Team
模型创建一个属性来存储new_person
文本字段:
class Team < ActiveRecord::Base
attr_accessor :new_person
...
end
最后,这是我的观点的摘录:
<%= f.select :person_id, @people.map { |p| [p.name, p.id] } %>
<%= f.text_field :new_person %>
显然,我wo我希望在保存表格中的数据之前将新人保存在表Person
中。像往常一样,该ID将被保存,而不是名字
在这一点上,我有两个问题:
1 /参数数组有钥匙new_person
什么没有表。所以不可能使用Team.new(params[:team])
方法。有没有简单的解决方案来避免这个问题? 2 /因为我需要person_id,当名字来自new_person
字段时,我怎么能得到它?在使用before_filter
方法?
非常感谢,
卡米耶。