gpt4 book ai didi

ruby-on-rails - 在 has_many View 表中显示名称而不是 ID

转载 作者:行者123 更新时间:2023-12-04 03:46:31 26 4
gpt4 key购买 nike

我已经尝试了其他几个类似的帖子,但仍然出现错误。

在 Posts 模型中,我有一个 category_id 字段。我有以下型号:

#Posts model
belongs_to :categories

#Category model
has_many :posts

在 Posts 索引 Controller 中,我有:
@categories = @posts.Category.find(:all, :order => 'categoryname')

在 View 中我有:
<% @posts.each do |post| %>
<tr>
<td><%= post.category_id %></td>
<td><%= @categories.categoryname %></td>

<td><%= link_to 'View', post %></td>
<td><%= link_to 'Edit', edit_post_path(post) %></td>
</tr>
<% end %>

在第二列中,我试图显示类别表中的类别名称(“类别名称”),而不是帖子表中的 category_id。我收到一个错误:

#ActiveRecord::Relation:0x3e1a9b0> 的未定义方法`Category'

我也试过:
<td><%= post.categories.categoryname %></td>

但得到同样的错误。

也:
<td><%= post.category.categoryname %></td>

任何建议将不胜感激。

最佳答案

在你的模型中

belongs_to :category

在你看来
<td><%= post.category.categoryname %></td>

你可以去掉 @categories = Controller 中的线路

此外, categoryname 可能不是您的 Category 模型的最佳属性名称。为什么不直接命名 name . post.category.name似乎比 post.category.categoryname好多了,你不觉得吗?

关于ruby-on-rails - 在 has_many View 表中显示名称而不是 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10762669/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com