所以我有一个我正在研究的食谱应用程序,我无法理解为什么我没有得到展示的东西。我使用Recipe作为连接表,为简单起见,我只将它与其他三个表一起使用。对于应用程序而言,我唯一想要显示的是每个模型上关联的名称。
我有以下型号: 蔬菜 蛋白 淀粉 配方
Recipe充当连接表并具有:
belongs_to :vegetable
belongs_to :protein
belongs_to :starch
accepts_nested_attributes_for :vegetable, :protein, :starch
其他每个模型都有:
has_one :recipe
所以我对视图的想法是一个简单的迭代
<table>
<thead>
<tr>
<th> Vegetable Name </th>
<th> Protein Name </th>
</tr>
</thead>
<% @recipes.each do |recipes| %>
<tr>
<td> <%= recipe.vegetable.name %> <td>
<td> <%= recipe.protein.name %> <td>
</tr>
然而,标题之外什么也没有出现。我已经通过迭代完成了各种各样的事情,比如将配方更改为配方,在每列的末尾将配方作为参数传递。我确保我的配方控制器具有以下功能:
def recipe_params
params.require(:recipe).permit(:vegetable_id, :protein_id, :starch_id)
end
我的协会错了,这就是为什么它没有提出任何内容?
答案 0 :(得分:2)
我认为这是一个错字。使用此:
<% @recipes.each do |**recipe**| %>
<tr>
<td><%= recipe.vegetable.name %><td>
<td><%= recipe.protein.name %><td>
</tr>
<%end%>