0

コントローラーの params に条件を入れようとすると問題が発生します。このコードは私のコントローラー内にあります:

if params[:example] == 1
   @table = Model.find(:all,:conditions=>['column_table= ?',params[:example]  ]  )
else
   @table = Model.find(:all,:conditions=>['column_table2= ?',params[:example]  ]  )
end

このコードは正しいですか? paramsコントローラーに条件を入れるにはどうすればよいですか?

4

4 に答える 4

2

あなたのコードは問題ないようです。残念ながら、あなたはどのような問題を抱えているかを言いません。失敗する可能性がある唯一のことは、状態です。パラメータに何らかの値を渡すと、それらは型キャストされません。したがって、あなたの状態で使用する必要があると思いますto_i

if params[:example].to_i == 1
  ...
于 2013-09-27T06:27:46.690 に答える
1

列名をその値とともに送信して、ifs を回避することもできます

@table = Model.find(:all,:conditions=>["#{params[:col]} = ?", params[:example]  ]  ) 
于 2013-09-27T05:49:16.527 に答える