1

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
4

1 に答える 1

1

不要な中かっこの追加のペアがあります。試す:

named_scope :search_word, lambda{ |keyword|
  if keyword.present?   
    {:conditions => { :CM_CHAR_ATLAS => {:char_name => keyword }} }
  else
    {}
  end
}
于 2013-01-07T10:27:38.627 に答える