【问题标题】:rails 2.3 named_scope nested hash in conditionsrails 2.3 named_scope 条件中的嵌套哈希
【发布时间】:2013-02-10 22:39:39
【问题描述】:

我对 ruby​​/ruby on rails 真的很陌生,并且得到了一个看起来像这样的模型类。我只是想问一下,当我尝试调用 Ranks.search_word("Jagger") 时,为什么它会给我哈希错误的奇数列表

我正在使用 Rails 2.3.5/ActiveRecord 2.3.5

class Ranks < ActiveRecord::Base
  set_table_name 'CM_GT_RANK'
  set_primary_key 'rank_id'

  has_one :character_atlas, :class_name => "CharAtlas", :foreign_key => "char_id_db"
  has_one :player_records, :class_name => "PlayerRecord", :foreign_key => "char_id"

  default_scope  :joins => :character_atlas,
                 :order => "rank asc"
  named_scope :search_word,
    lambda{ |keyword|
      {
        if keyword.present?
          {:conditions => { :CM_CHAR_ATLAS => {:char_name => keyword }} }
        else
          {}
        end
      }
  }
end

【问题讨论】:

    标签: ruby-on-rails rails-activerecord


    【解决方案1】:

    您还有一对不需要的大括号。试试:

    named_scope :search_word, lambda{ |keyword|
      if keyword.present?   
        {:conditions => { :CM_CHAR_ATLAS => {:char_name => keyword }} }
      else
        {}
      end
    }
    

    【讨论】:

    • 别担心。在 stackoverflow 上玩得开心;)
    猜你喜欢
    • 1970-01-01
    • 2013-02-08
    • 1970-01-01
    • 1970-01-01
    • 2013-05-06
    • 1970-01-01
    • 1970-01-01
    • 2016-06-13
    • 1970-01-01
    相关资源
    最近更新 更多