我正在展示名为Micropost的ActiveRecord :: Base的一些属性:
<table>
<tr>
<th>Items</th>
<th>Creation Date</th>
<th>Progress</th>
</tr>
<td>
<% @user.microposts.each do |micropost| %>
<tr>
<td><%= micropost.content %></td>
<td><%= micropost.created_at %></td>
<td><%= micropost.progress %></td>
</tr>
<% end %>
</td>
</table>
这是类定义:
class Micropost < ActiveRecord::Base
belongs_to :user
validates :content, length: { maximum: 140 }
@progess = 0
end
如果我不放<td><%= micropost.progress %></td>
,它可以正常工作。但是,如果我这样做,我会得到:
undefined method
进展'
我也尝试了progress :number
,但我似乎无法找到如何向该类添加变量并将其显示在.erb
上。
答案 0 :(得分:1)
@progress = 0
设置类级实例变量,不创建任何方法。要创建实例方法,请使用def
或attr_accessor
,attr_reader
或attr_writer
中的一个。