2012-10-03 115 views
0

我有2個模型(Paygrade和Empsal)2個控制器(paygrades和empsals)鑑於這裏處理 在empsals的形式(_form.html.erb)協會MongoDB中在軌道

# PayGrade <%= f.collection_select :pay_grade, Paygrade.all, :id, :title, 
# :prompt => 'Select Paygrade' %> 
PayGrade <%= f.collection_select :paygrade, Paygrade.all, :id, :title, 
       :prompt => 'Select Paygrade' %> 

模型Paygrade

的Empsal

class Empsal 
    include Mongoid::Document 
    # field :pay_grade, type: String 
    belongs_to :paygrade 
    field :salary_component, type: String 
    field :pay_frequency, type: String 
    field :currency, type: String 
    field :amount, type: String 
    field :comments, type: String 

end 

型號

class Paygrade 
    include Mongoid::Document 
    has_many :empsals # +++++ added 
    validates_presence_of :title 
    field :title, type: String 

end 

我要讓聯想這樣的它將在Empsal中爲工資pay_grade保存paygrade的id。 但是在view.html.erb中顯示id的相關名稱 <%empsal.pay_grade%> 在(Paygrade和Empsal)模型中應該完成什麼關聯才能獲得所需的輸出?

回答

1
class Empsal 
    include Mongoid::Document 
    belongs_to :paygrade 
end 
+0

我沒有得到它。那麼你可以詳細描述一下。我很困惑 – regmiprem

+0

belongs_to將在Empsal文檔中創建一個字段(ObjectID類型),並存儲引用的Paygrade的ID。因此,你會得到'@ empsal.paygrade.name'等實例。 – rewritten

+0

當我做@ empsal.paygrade.title時出錯(因爲我爲paygrade名稱定義了字段標題)顯示/home/prem/Desktop/cleansvn/sep10/app/views/empsals/show.html.erb其中行# 5提出: 未定義的方法標題爲零:NilClass – regmiprem