我想在食谱展示视图中显示每个食谱的成分,成分在一个名为成分的单独模型中,但与食谱模型有一个belongs_to关系
因此,当我调用用户名时,例如我使用
@recipe.user.name
这是因为属性在配方模型中,我在配方助手中有一个方法,如此
def ingredient_names(ingredients)
if ingredients
ingredient_array = ingredients.map {|ing| ing.ingredient_name}
ingredient_array.join("\n")
end
end
所以我想我可以打电话
@recipe.ingredient_names
但我得到一个未定义的方法错误..
然后我认为我必须传递params ingredient_name(列的名称)
@recipe.ingredient_names(:ingredient_name)
但仍然会收到未定义的方法错误
当我做的时候
<%= @recipe.ingredients(:ingredient_name) %>
我将此作为输出
[#<Ingredient id: 71, ingredient_name: "Ingredient 1", recipe_id: 56, created_at: "2012-11-29 19:29:25", updated_at: "2012-12-02 16:29:58">, #<Ingredient id: 76, ingredient_name: "ingredient 2", recipe_id: 56, created_at: "2012-12-02 16:29:59", updated_at: "2012-12-02 16:29:59">, #<Ingredient id: 77, ingredient_name: "ingredient 3", recipe_id: 56, created_at: "2012-12-02 16:29:59", updated_at: "2012-12-02 16:29:59">]
所以当我有关系belongs_to和has_many时,如何调用另一个模型的属性。我猜的简单问题但是无法弄清楚
感谢
答案 0 :(得分:0)
想出解决方案,我需要先访问方法
<%= ingredient_names @recipe.ingredients(:ingredient_name)