2010-08-16 49 views
1

我試圖從查找表中創建的時間戳獲取值。假設我有Ingredients和Recipes,還有一個名爲ingredients_recipes的表,其中有ingredient_id,recipe_id,然後是時間戳。Rails - 從查找表訪問時間戳

我該如何訪問這些時間戳?基本上,我需要知道什麼時候將某種成分添加到配方中。

謝謝!

+0

雖然不是一個便攜式解決方案,您可以使用提取的信息'find_by_sql'和'attr_accessor' – 2010-08-16 19:16:56

+0

感謝您的迴應。你能提供更多信息的鏈接嗎?謝謝。 – 2010-08-16 19:19:40

回答

0

所以你現在有這樣的事情?

class ingredient << ActiveRecord::Base 
    has_and_belongs_to_many :recipes 
    ..... 
end 

class recipe << ActiveRecord::Base 
    has_and_belongs_to_many :ingredients 
    .... 
end 

而你想獲得他們添加的日期。軌道的方式是通過使用連接模型。 (見http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html)和許多。特別是這條線Choosing which way to build a many-to-many relationship is not always simple. If you need to work with the relationship model as its own entity, use has_many :through. Use has_and_belongs_to_many when working with legacy schemas or when you never work directly with the relationship itself.

所以,如果你在哪裏建立一個連接模型,你會得到像下面的東西。

class ingredient << ActiveRecord::Base 
    has_many :mixtures 
    has_many :recipes , :through=> :mixtures 
    ..... 
end 

class recipe << ActiveRecord::Base 
    has_many :mixtures 
    has_many :ingredients, :through=> :mixtures 
    .... 
end 

class mixture << ActiveRecord::Base 
    belongs_to :recipe 
    belongs_to :ingredient 
    ... 
end 

這種方式可以將屬性添加到混合物表,所以你可以發現,當他們在那裏補充說,誰補充他們等等