0

4 つの場所を含む Locations テーブルがあります。スキーマは次のとおりです。

create_table "locations", :force => true do |t|
    t.string   "name"
    t.string   "address"
    t.string   "city"
    t.string   "state"
    t.string   "zip"
    t.datetime "created_at", :null => false
    t.datetime "updated_at", :null => false
  end

これを ajax 呼び出しで実行していますが、Location以下の puts 行に戻り続けます。

@current_location = Location.where('lower(name) = ?', params[:id][1..-1].humanize.downcase)     
p "@current_location = #{@current_location}"

params[:id][1..-1].humanize.downcaseと解釈します'brooklyn park'

実際にはログ ファイルでこのクエリを見つけられず、アクティブなレコードをコピーして Rails コンソールに貼り付けると、問題なく動作するようです。

なぜ戻ってくるの'Location'ですか?

4

1 に答える 1

1

交換

@current_location = Location.where('lower(name) = ?', params[:id][1..-1].humanize.downcase)

@current_location = Location.where('lower(name) = ?', params[:id][1..-1].humanize.downcase).first
于 2013-03-13T05:45:42.087 に答える