我有兩個模型 - 「符號」和「用戶」。在其他屬性中,符號具有「created_by_id」和「updated_by_id」屬性,這些屬性是創建/更新某個符號條目的用戶的id。同一類型的多個嵌套屬性
比方說,我想顯示符號表及其「符號」屬性以及每個符號條目的嵌套「創建者」和「更新者」(user.username)屬性。結果表應該是這樣的:
symbol created_by updated_by
------------------------------------
symbol1 username1 username2
symbol2 username1 username2
我該如何實現這一目標?我想我需要accepts_nested_attributes_for :user
和可能has_one :user
(?)在我的符號模型。我的用戶模型中是否還需要belongs_to :user
?
模型設置正確後,如何在我的視圖中訪問與「created_by_id」和「updated_by_id」關聯的用戶的用戶名?
我有我曾經的嵌套形式這樣的(這工作正常)的編輯形式:
<%= form_for @symbol do |f| %>
Symbol:
<%= f.text_field :symbol %>
<%= f.fields_for :kanji do |kf| %>
Meaning:
<%= kf.text_field :meaning %>
Onyomi:
<%= kf.text_field :onyomi %>
Kunyomi:
<%= kf.text_field :kunyomi %>
<% end %>
<%= f.submit "Save" %>
<% end %>
,但我無法弄清楚如何做到在這種情況下,類似的在那裏我有兩個嵌套屬性的東西與相同的符號相關聯。
我是新來的鐵路,所以也許我得到了如何做到這一點錯誤的整個想法。如果比我剛剛解釋我想要做的更好,請糾正我。
編輯:這裏是模型。第一個實際上稱爲JSymbol,但問題依然存在。
class JSymbol < ActiveRecord::Base
belongs_to :j_symbol_type
has_one :kanji, :dependent => :destroy
has_one :radical, :dependent => :destroy
has_one :vocabulary, :dependent => :destroy
attr_accessible :created_by_id, :updated_by_id, :symbol, :j_symbol_type_id, :level
attr_accessible :kanji_attributes, :radical_attributes, :vocabulary_attributes
accepts_nested_attributes_for :kanji, :radical, :vocabulary
end
和用戶模型。
class User < ActiveRecord::Base
devise :database_authenticatable, :registerable, :recoverable, :rememberable, :trackable, :validatable, :confirmable, :lockable, :timeoutable
attr_accessible :username, :email, :password, :password_confirmation, :remember_me
validates :username, :presence => true, :uniqueness => true
end
這當然是沒有用戶jsymbol關係,因爲我不知道什麼樣的關係,以在加有..它應該像在JSymbol模型has_one :user
和belongs_to :j_symbol
在用戶模式,除了它需要可以做兩遍......也可以在每個符號的action方法中調用.build方法。
可能不是最好的方式,我解決了這個與sendind值的幫手,找到用戶並返回該用戶的名稱。 – rmagnum2002
是的,我想到這一點,但對於10頁的一頁,我會做20分貝查詢只提取所有用戶名..所以這是我最後的手段。謝謝你的答案。 – pootzko
請發送'user'和'symbol'模型,它們之間有reations的部分 – rmagnum2002