我是ruby on rails的新手。我有一个董事会模型及其观点。我有一个类别模型及其观点。类别和董事会之间的关系是一对多,即一个类别有很多董事会。我的要求是访问放置在board表中的类别ID,并显示该特定类别id的相应类别标题。在标签标签<label for="home"><%= board.category_id %></label>
处,我在标签标签中获取空类别ID,或者可能为空。在rails控制台上,它正确地为我提供数据
这是一个视图代码。
<div class="myNavigation">
<nav class="vertical">
<ul>
<% boards.each(function (board) { %>
<li>
<label for="home"><%= board.category_id %></label>
<input type="radio" checked="true" name="verticalMenu" id="home" />
<div>
</div>
</li>
<% }); %>
</ul>
</nav>
</div>
&#13;
董事会模特班:
class Board < ActiveRecord::Base
attr_accessible :description, :name, :open, :members, :category_id
#attr_accessor :category_id
has_many :lists, dependent: :destroy
has_many :board_activities , dependent: :destroy
has_many :boards_members, class_name: "BoardMember" , dependent: :destroy
has_many :members, through: :boards_members , dependent: :destroy
belongs_to :category, class_name: "category"
end
类别模型类
class Category < ActiveRecord::Base
attr_accessible :title, :description
#attr_accessor :category_id
has_many :boards, dependent: :destroy
end
请建议使用简单的方法来创建红宝石部分布局,例如,application.erb可以包含在某些页面中,而某些页面则不应该包含。它还应该包含上面提到的类别ID。
作为旁注,我在骨干网中工作,上面的视图实际上是一个电路板模板。我正在使用ruby 2.2.1版本和4.1.2 rails版本。还可以提供进一步的细节。提前致谢。
答案 0 :(得分:0)
在视图代码中,您在板上的循环应如下所示:
<% boards.each do |board| %>
<li>
<label for="home"><%= board.category_id %></label>
<input type="radio" checked="true" name="verticalMenu" id="home" />
<div>
</div>
</li>
<% end %>
看起来你所拥有的代码只是在循环中声明匿名函数,我不确定 - 但我认为这就是你想要的:)
答案 1 :(得分:0)
您应该使用<%= board.category.title %>
代替<%= board.category_id %>
如果你真的可以有一个null category_id,你可以做到:
<%= board.category.title if board.category_id %>