我正在实施一个库,并且有一个类别表。
类别表如下: -
id serial NOT NULL,
name character varying(255),
parent_cat_id integer DEFAULT 0,
deleted integer NOT NULL DEFAULT 0,
CONSTRAINT categories_pkey PRIMARY KEY (id)
现在我遇到的问题是我想显示类别的名称而不是引用类别的id。
我的index.html.erb文件如下: -
<table class="table table-striped table-bordered">
<tr>
<th>Id</th>
<th>Name</th>
<th>Parent Category Id</th>
<th>Edit</th>
<th>Delete</th>
</tr>
<% @categories.each do |c| %>
<tr>
<td><%= c.id %> </td>
<td><%= c.name %> </td>
<td><%= c.parent_cat_id %> </td>
<td><%= link_to 'Edit', {:action => 'edit', :id => c.id} %> </td>
<td><%= link_to 'Delete', {:action => 'delete', :id => c.id},
:data => { :confirm => "Are you sure you want to delete this value?" } %></td>
</tr>
</tr>
<% end %>
</table>
<br />
我有什么方法可以实现这个。
答案 0 :(得分:2)
您可以在类别模型中添加以下内容
class Category < ActiveRecord::Base
belongs_to :parent_category, class_name: 'Category', foreign_key: :parent_cat_id
end
然后您可以执行以下操作
<td><%= c.parent_category.name if c.parent_category %> </td>
我添加if
只是为了确保如果类别没有父类别则不会引发错误
答案 1 :(得分:-1)
试试这个,
<td><%= c.parent_cat_id.name %> </td>
如果您的模型有关系,它就有效。