按哈希值获取记录

时间:2016-06-01 22:57:43

标签: sql ruby-on-rails postgresql ruby-on-rails-4 activerecord

我正在尝试通过哈希值从表中获取记录。 这是记录示例:

Activity:0x0000000709be18> {
                :id => 1,
      :trackable_id => 3,
    :trackable_type => "User",
          :owner_id => 1,
        :owner_type => "User",
               :key => "user.ban",
        :parameters => {
        :status => "new"
    },
      :recipient_id => nil,
    :recipient_type => nil,
        :created_at => Wed, 01 Jun 2016 22:19:39 UTC +00:00,
        :updated_at => Wed, 01 Jun 2016 22:19:39 UTC +00:00
}

我需要将所有具有参数状态的活动设为新的(参数[:status] =='new')。

此代码有效,但我需要返回activerecord关系而不是数组。

Activity.select{|act| act.parameters == { status: 'new'}}

1 个答案:

答案 0 :(得分:0)

在序列化字段中搜索并不容易,但您可以使用jQuery('.my_class').show(); 但有一些限制。

LIKE

这是有效的,但我建议添加一个自定义字段,就像公共活动宝石所有者提到的那样:

  

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