<% @sbp = Post.limit(4) %>
<div class="menu">
<% @sbp.each do |sb| %>
<a class="item" href="/introduction/integrations.html">
<%= @sb.title %>
</a>
<% end %>
我有这个代码,我用Posts的有限查询的基本循环编写。这是我标题中的主要布局文件。 @sbp
工作正常,可以在查询内外使用@sbp.first
调用,但@sb
设置为nill,我收到此错误:
undefined method `title' for nil:NilClass
我的帖子模型:
class Post < ActiveRecord::Base
has_many :comments, dependent: :destroy
validates :title, presence: true, length: { minimum: 5 }
validates :body, presence: true
validates_presence_of :slug
def to_param
slug
end
end
答案 0 :(得分:0)
您在循环中引用sb
作为实例变量,但它不是一个。
使用循环变量:
<% @sbp.each do |sb| %>
<a class="item" href="/introduction/integrations.html">
<%= sb.title %>
</a>
@sbp
是一个实例变量,可能是在控制器中设置的。each
产生的对象不是实例变量。