繁体   English   中英

Public_activity gem参数Rails 3

[英]Public_activity gem parameters Rails 3

我正在尝试使用Public_activity gem和参数。

在我的控制台上:

 c = PublicActivity::Activity.find(34)
 PublicActivity::Activity Load (0.2ms)  SELECT "events".* FROM "events" WHERE     
 "events"."id" = ? LIMIT 1  [["id", 34]]
 => #<PublicActivity::Activity id: 34, trackable_id: 17, trackable_type: "Follow",   owner_id: 2, owner_type: "User", key: "follow.destroy", parameters: {:notif=>"on"},    recipient_id: nil, recipient_type: nil, created_at: "2014-08-15 04:44:03", updated_at: "2014-08-15 04:44:03"> 

如何在PublicActivity :: Activity.all中搜索以查找带参数[:notif] =“on”的一条记录?

实际上我的问题要简单得多......如何使用Active Record Query查找带有哈希的特定记录!

宝石所有者建议添加自定义字段。 通过: https//github.com/pokonski/public_activity#use-custom-fields-on-activity

“除了每个活动所拥有的少数字段外,您还可以设置自定义字段。这可能非常有用,因为参数是序列化哈希,无法从数据库中轻松查询。”

要添加自定义字段:

将自定义字段添加到活动表:

class AddNotifFieldToActivities < ActiveRecord::Migration

  def change
    change_table :activities do |t|
      t.string :notif
    end
  end

end

在模型中指定自定义字段:

class User < ActiveRecord::Base
  include PublicActivity::Model
  tracked notif: proc {|controller, user| controller.notif }
end

现在,您可以使用查询来查找notif: on活动记录

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM