我想知道哪條路是最好的解決我的問題:
我有一個表格,以便通過選擇字段來選擇的人。如果在選擇字段中缺少名稱,則可以使用文本字段直接添加該人員的姓名。
- 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
方法?
非常感謝,
卡米耶。