0

私はRuby on Railsにまったく慣れていません...私の問題は、チェックボックスから出力を取得することです。チェックボックスが の場合、falseすべてのコンサートを表示したいのですが、常に else 条件を取得します...@concerts = Concert.find(:all, :order => "day")標準出力として取得し、check_box がチェックされている場合、else 条件を取得するにはどうすればよいですか?

#index.html.erb
check_box('dm', false, options = {}, checked_value = "1", unchecked_value = "0")


# controller.rb
def index
  if params[:dm] == '0'
    @concerts = Concert.find(:all, :order => "day")
  else
    @concerts = Concert.find(:all, :order => "day", :conditions => {:bool => false})
end

開発.log

HTML [1m[36mConcert Load (0.0ms)[0m [1mSELECT concerts.* FROM concertsWHERE concerts. bool= 0 ORDER BY day[0m [1m[35mConcert Load (15.6ms)[0m SELECT concerts.* FROM concertsORDER BY ラインナップ [1m[36mConcert Load (0.0ms)[0m [1mSELECT DISTINCT day FROM concertsORDER BY day[0m [1m[35mConcert Load (0.0ms)[0m SELECT DISTINCT club_id FROM concerts ... レイアウト/アプリケーション内のコンサート/index.html.erb をレンダリング (78.0ms) 94ms で 200 OK を完了 (ビュー: 78.0ms | ActiveRecord: 15.6ms)

4

1 に答える 1

0

これを試して

def index
  if params[:dm] == '0'
    @concerts = Concert.find(:all, :order => "day")
  else
    @concerts = Concert.find(:all, :order => "day", :conditions => {:bool => false})
end

コントローラが受け取るチェックボックスの値は、文字列形式で 0 または 1 です。また、 である必要がありますparams[:dm]

于 2012-08-13T18:35:57.150 に答える