0
基本上我有兩個模型:用戶和教父。教父表具有三列:如何管理具有兩個外鍵的模型的形式
- USER_ID(FK - >用戶)
- user_godfather_id(FK - >用戶)
- 描述(文本)
內的每個模型類,我添加了以下關聯:
class User < ActiveRecord::Base
has_many :godfathers # for user_id
has_many :other_godfathers, :foreign_key => "user_godfather_id", :class_name => "Godfather"
accepts_nested_attributes_for :godfathers
end
class Godfather < ActiveRecord::Base
belongs_to :user
belongs_to :user_godfather, :class_name => "User"
end
現在我的問題是關於如何管理此嵌套屬性的編輯窗體關係。 這裏是我的形式看起來像此刻(使用nested_form_for寶石):
<%= nested_form_for @user do |f| %>
<%= f.fields_for :godfathers do |godfather_form| %>
# Here I have an ID text field but what I want instead is
# to provide a username for this godfather.
<%= godfather_form.label :user_godfather_id %>
<%= godfather_form.text_field :user_godfather_id %>
<%= godfather_form.label :description %>
<%= godfather_form.text_field :description %>
<%= godfather_form.link_to_remove "Remove this godfather" %>
<% end %>
<%= f.link_to_add "Add a godfather", :godfathers %> <br/><br/>
<%= f.submit "Update Godfathers" %>
因此,正如我在評論中說,我的目標是能夠提供教父用戶名,而不是一個ID的。順便說一下,該用戶名是User表中的一列。
有關我應該怎麼做的任何想法?
謝謝!
謝謝!事實上,我沒有注意到這一點!但我的問題更多的是關於表單本身!如何編寫我的nested_form_for,例如我可以提供教父(這是用戶表中的一列)的用戶名而不是它的ID!任何想法? +1幫助無論如何:) – 2011-02-27 12:01:01
我想只是將其更改爲:user_godfather_name並只在您的控制器中搜索該名稱... – Hock 2011-02-28 01:58:39