2012-04-16 35 views
0

我是一種新的軌道,我有一個問題,我無法解決。Rails - 無法訪問表字段

我有一個模型配方

class Recipe < ActiveRecord::Base 
    has_many :items, :dependent => :destroy 
    accepts_nested_attributes_for :items,** 

和示範項目

而且我在訪問項目屬性的問題通過Recipe.Example

我有一個項目(@i)用字符串描述字段"test_"id = 1

我有一個配方(@r)與id=2和說明"test_recipe";

我能夠正確該項關聯使用

@i.recipe_id = 2 

如果我去做@i,我有結果

#<Recipe id: 2, description: "test_recipe", created_at: "2012-04-14 15:11:00", updated_at: "2012-04-14 15:11:00"` 

但如果我這樣做@r.items,我有幾招結果

Item id: 1,recipe_id: 2, updated_at: "2012-04-14 15:11:00" , description: nil)

他不能訪問項目的描述字段。爲什麼?這是避免我建立一個適當的食譜形式,因爲鐵軌不建立項目領域。

+0

這將是如果您可以粘貼您的實際代碼而不是彙總它,則更容易。此外,我會強烈建議使用變量名稱項目和配方,而不是我和r(用於代碼可讀性和可維護性)。 – 2012-04-16 14:13:03

+0

請使用反引號或4格縮進來格式化您的代碼。這幾乎是不可讀的。 – 2012-04-16 14:30:09

回答

0

我猜想這是因爲你正在試圖做這樣的事情:

@recipe.items.description 

時,如果你只是想每一個項目的描述:

@recipe.items.map(&:description) 
+0

在最後一段代碼中,它們在說明字段中顯示具有零值的項目。我不確定你是對的,這是問題所在。至於問題是什麼......沒有一些重構的問題,沒有人會知道。 – 2012-04-16 15:01:54

+0

但爲什麼我不能使用@ recipe.items訪問items字段(recipe_id除外)? – NokusFerreira 2012-04-16 16:41:34