我有一个使用 PublicActivity gem 跟踪的帖子模型,如下所示
class Post < ActiveRecord::Base
include PublicActivity::Model
tracked except: :destroy, owner: ->(controller, model) { controller && controller.current_user }
这是有关 gem 的更多信息的链接:https ://github.com/pokonski/public_activity
在 Post 表中,我拥有的属性之一是“讨论”。
create_table "posts", :force => true do |t|
t.text "content"
t.integer "user_id"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.boolean "discussion", :default => false
end
如果讨论 == true,我想在 PublicActivity 流中显示不同类型的文本消息。
现在,我正在使用它来查看所有帖子
<li>
<% if activity.trackable_type == "Post" %>
<%= link_to activity.owner.name, activity.owner if activity.owner %> posted new content <span class="timestamp"> <%= time_ago_in_words(activity.created_at) %> ago.
</span>
<% else %>
<%= link_to activity.owner.name, activity.owner if activity.owner %> made a comment on a post<span class="timestamp"> <%= time_ago_in_words(activity.created_at) %> ago.
</span>
<% end %>
</li>
这是上面视图的控制器
class ActivitiesController < ApplicationController
def index
@activities = PublicActivity::Activity.order("created_at desc")
end
end
我想包含一种新类型的视图消息,其中显示“用户创建了一个新讨论”,它基于 post 表中属性的布尔值。这可能吗?