html - Ruby on rails:如何显示另一个表中的信息?
问题描述
更新时间:22/08/2019 这正在工作。感谢您的反馈和帮助!
福利列表的图像:列表显示<-- 需要参数允许福利_ids
旧版本:21/08/2019
我已经建立了多对多的关联,但无法获取数据表名称。我可以获得 ID,但它不允许我显示其他字段信息。
我查看了控制器并添加到 permit benefit_ids 但不确定是否应该向其中添加任何其他内容。
exercisetypes(Index.html.erb)
--- Old code (21/08/2019)
<tbody>
<% @exercisetypes.each do |exercisetype| %>
<tr>
<td><%= exercisetype.name %> </td>
<td><%= exercisetype.benefits.name %> </td>
...
---
New code (22/08/2019)
<tbody>
<% @exercisetypes.each do |exercisetype| %>
<tr>
<td> <%= exercisetype.name %> </td>
<td>
<ul>
<% exercisetype.benefits.each do |benefit| %>
<li><%= benefit.name %></li>
<% end %>
</ul>
</td>
<% end %>
...
_form.html.erb(Gem: simple form)
<% f.association :benefits, as: :check_boxes %>
Models
exercisetype.rb
has_many :exercisetype_benefits, dependent: :destroy
has_many :benefits, :through => :exercisetype_benefits
benefit.rb
has_many :exercisetype_benefits
has_many :exercisetypes, :through => :exercisetype_benefits
exercisetype_benefit.rb
belongs_to :exercisetype
belongs_to :benefit
该表显示模型名称 Benefit。没有错误消息,但我不确定如何显示福利名称。
解决方案
福利属于练习类型模型,因此您需要遍历福利才能访问属性。检查这个:
<tbody>
<% @exercisetypes.each do |exercisetype| %>
<tr>
<td><%= exercisetype.name %> </td>
<td>
<ul>
<% exercisetype.benefits.each do |benefit| %>
<li><%= benefit.name %></li>
<% end %>
</ul>
</td>
</tr>
<% end %>
</table>
推荐阅读
- r - 对列中具有特定名称的多个列求和
- ruby-on-rails - 发送消息 en hook 成功 - Delayed_job
- python-3.x - 我是编码新手,我的井字游戏出现错误
- javascript - JanusGraph 0.4.0 通过 WebSocket 连接时抛出错误
- arrays - 如何遍历结构数组并显示所有键值
- javascript - JavaScript String.split(): 分割为 ; 前面没有反斜杠?
- java - 如何修复 adb:错误:无法绑定侦听器:不允许操作 react-native?
- flutter - 无法更改 MaterialButton 的宽度
- html - CSS:为什么@font-face 不能在 Firefox 上运行?
- javascript - 模板化 HTML 中的动态 Javascript 输出