我正在使用以下行为作为消息的消息宝石。gem 指出,要将消息标记为已读,请执行以下操作:
@message.mark_as_read
下面是我的代码,我在其中迭代每条消息,然后尝试在视图中将消息标记为已读,但这不起作用。我收到一个错误“找不到 id=true 的商店”
通常我会在控制器或模型中设置一个方法来处理 gem 的方法,但我很困惑我应该如何做到这一点,因为 gem 是指数据库中的一个表并且不需要新的模型或控制器。这真让我抓狂!我应该把这些方法放在哪里(还有更多这样的方法)?
有任何想法吗?
<% @messages.each do |m| %>
<tr>
<td>
<%= link_to 'Mark Read', "#{m.mark_as_read}", :class => 'btn btn-mini' %>
</td>
</tr>
<% end %>
我的模特
class User < ActiveRecord::Base
acts_as_messageable :table_name => "messages", # default 'messages'
:required => [:topic, :body], # default [:topic, :body]
:class_name => "ActsAsMessageable::Message", # default "ActsAsMessageable::Message",
:dependent => :nullify # default :nullify
end