Rails 4 - 显示关联属性(没有关联 table 中的所有属性)
Rails 4 - Displaying associated attribute (without all attributes in associated table)
我正在尝试在 Rails 4.
中制作一个应用程序
我有个人资料模型。
我正在尝试在该个人资料显示页面中显示用户的角色。
我有三个模型:
用户
rolify (which has a user_role join table)
角色
has_and_belongs_to_many :users, :join_table => :users_roles
belongs_to :resource, :polymorphic => true
简介
belongs_to :user
在我的个人资料显示页面中,我有:
<%= @profile.user.roles.each do |role| %>
<%= role.name.titlecase %> <span style= "margin-right: 30px"></span>
<% end %>
在显示视图中,我得到:
Manager [#<Role id: 9, name: "faculty_manager", resource_id: nil, resource_type: nil, created_at: "2016-01-16 08:06:55", updated_at: "2016-01-16 08:06:55">]
'Manager'部分是唯一正确的部分。如何让show page不列出角色的所有其他属性table?
您有 <%= @profile
,而不仅仅是 <% @profile
,它将枚举器的结果放在视图中
<% @profile.user.roles.each do |role| %>
<%= role.name.titlecase %> <span style= "margin-right: 30px"></span>
<% end %>
如果您只想为每个角色获取 name
则执行此操作
<% @profile.user.roles.pluck(:name).each do |role_name| %>
要以漂亮的 table 视图格式设置您的显示页面,请在您的显示页面代码中执行类似以下操作:
错误是使用 <%= @profile.user.roles.each do |role| %>
注意你使用的=
<table class="table ld-margin-top-20">
<thead>
<tr>
<th>Manager ID</th>
<th>Manger Name</th>
<th>Manger Resource ID</th>
<th>Manger Resource Type</th>
</tr>
</thead>
<tbody>
<% @profile.user.roles.each do |role| %>
<tr>
<td> <%= role.id %></td>
<td> <%= role.name.titlecase %></td>
<td><%= role.resource_id %></td>
<td><%= role.resource_type %></td>
</tr>
<% end %>
</tbody>
</table>
我正在尝试在 Rails 4.
中制作一个应用程序我有个人资料模型。
我正在尝试在该个人资料显示页面中显示用户的角色。
我有三个模型:
用户
rolify (which has a user_role join table)
角色
has_and_belongs_to_many :users, :join_table => :users_roles
belongs_to :resource, :polymorphic => true
简介
belongs_to :user
在我的个人资料显示页面中,我有:
<%= @profile.user.roles.each do |role| %>
<%= role.name.titlecase %> <span style= "margin-right: 30px"></span>
<% end %>
在显示视图中,我得到:
Manager [#<Role id: 9, name: "faculty_manager", resource_id: nil, resource_type: nil, created_at: "2016-01-16 08:06:55", updated_at: "2016-01-16 08:06:55">]
'Manager'部分是唯一正确的部分。如何让show page不列出角色的所有其他属性table?
您有 <%= @profile
,而不仅仅是 <% @profile
,它将枚举器的结果放在视图中
<% @profile.user.roles.each do |role| %>
<%= role.name.titlecase %> <span style= "margin-right: 30px"></span>
<% end %>
如果您只想为每个角色获取 name
则执行此操作
<% @profile.user.roles.pluck(:name).each do |role_name| %>
要以漂亮的 table 视图格式设置您的显示页面,请在您的显示页面代码中执行类似以下操作:
错误是使用 <%= @profile.user.roles.each do |role| %> 注意你使用的=
<table class="table ld-margin-top-20">
<thead>
<tr>
<th>Manager ID</th>
<th>Manger Name</th>
<th>Manger Resource ID</th>
<th>Manger Resource Type</th>
</tr>
</thead>
<tbody>
<% @profile.user.roles.each do |role| %>
<tr>
<td> <%= role.id %></td>
<td> <%= role.name.titlecase %></td>
<td><%= role.resource_id %></td>
<td><%= role.resource_type %></td>
</tr>
<% end %>
</tbody>
</table>