0

我一直在努力,這太久了。創建多個嵌套對象

爲簡單起見,假設我有Lead Jungle應用程序,其中用戶向某些目的地要求 建議。在回答這個問題時,其他經驗豐富的用戶會提出一個引導人,他會引導他們直接指出問題。

假設我有以下型號。

class User < ActiveRecord::Base 
    has_many :destinations 
    validates :username, :email 
    #.. 
end 

class Recommendation < ActiveRecord::Base 
    belongs_to :user 
    belongs_to :destination 
    belongs_to :guide 
    #.. 
end 


class Guide < ActiveRecord::Base 
    has_many :recommendations 
    validates :name, :nickname, :phone 
    #.. 
end 

class Destination < ActiveRecord::Base 
    has_many :recommendations 
    has_many :users 
    #.. 
end 

在我的網頁,旁邊我想有一個Widget在 我可以提出最多與相關指導人三項建議到單個目標的叢林地圖。我也想 給導遊的人提供聯繫方式。

事情是,我沒有這三個推薦指南下的一些分組關係(如照片下的照片)。 所以我不能簡單地在這種情況下使用嵌套屬性。

有沒有辦法創建多個嵌套的對象,而沒有一個父對象包含它們全部?

我嘗試了以下(在許多其他方法之中),但指南參數不在他們的建議之下,我看不到哪個指南與哪個建議相關聯。

<%= form_tag('recommendations') do -%> 
    <ul id="selected-guides"> 
    <% @recommendations.each_with_index do |recommendation, index| %> 
     <%= render 'recommendation_fields', :recommendation => recommendation} %> 
    <% end %> 
    </ul> 
    <%= submit_tag %> 
<% end %> 

_recommendation_fields.erb

<%= fields_for recommendation do |Recommendation_fields| %> 
    <div> 
    <%= fields_for recommendation.guide do |guide_fields| %> 
     <%= guide_fields.text_field :name %> 
     <%= guide_fields.text_field :nickname %> 
     <%= guide_fields.text_field :phone %> 
    <% end %> 
    </div> 
<% end %> 

謝謝您的幫助!

回答

0

你可以試試rails 3.1,並通過assosiaction去了。 查看ryan bates的新視頻,它可以幫助你!

http://railscasts.com/episodes/265-rails-3-1-overview

ryans例如對於項目(型號/ project.rb)

has_many :tasks 
has_many :assigments, :through => :tasks 
has_many :users, :through => :assignments 
你的情況

,您也可以訪問這個樣子,我想

+0

謝謝,但我不知道這裏就是這種情況。關係正常。或者我想念你的觀點? – 2011-05-12 12:21:31