首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ruby on Rails - Activerecord::Associations方法错误

Ruby on Rails - Activerecord::Associations方法错误
EN

Stack Overflow用户
提问于 2014-11-15 22:02:16
回答 1查看 29关注 0票数 0

我在UserRecipe模型上都有这个基本的关联设置,就像在User has many recipes中一样,在视图中,我引用了一个配方属性,如下所示

代码语言:javascript
复制
<%= @recipe.title %>

错误是

代码语言:javascript
复制
undefined method `title' for #<ActiveRecord::Associations::CollectionProxy::ActiveRecord_Associations_CollectionProxy_Recipe:0x00000101edeac0>

我做了一些研究,似乎这与称为代理对象的东西有关,我需要以不同的方式访问相关对象的属性,但我发现消化这个概念很有挑战性。

在更高的层次上,我需要实现从列表(索引)中显示所选食谱的详细信息(show),并显示这个详细信息部分,这就是错误所在。

控制器

代码语言:javascript
复制
def index
  @recipes = Recipe.all
end

def show

end

视图

代码语言:javascript
复制
<p>
  <strong>Title:</strong>
  <%= @recipe.title %>
</p>

<p>
  <strong>Content:</strong>
  <%= @recipe.content %>
</p>

<p>
  <strong>Duration:</strong>
  <%= @recipe.duration %>
</p>

<p>
  <strong>Rating:</strong>
  <%= @recipe.rating %>
</p>
EN

回答 1

Stack Overflow用户

发布于 2014-11-15 22:38:58

@recipes = Recipe.all返回关联您应该这样做

代码语言:javascript
复制
<%- @recipes.each do |recipe| %>

<p>
  <strong>Title:</strong>
  <%= recipe.title %>
</p>

<p>
  <strong>Content:</strong>
  <%= recipe.content %>
</p>

<p>
  <strong>Duration:</strong>
  <%= recipe.duration %>
</p>

<p>
  <strong>Rating:</strong>
  <%= recipe.rating %>
</p>
<% end %>

它将遍历集合并显示每个配方

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26946622

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档