Rails 3.2.3フォームに次のcollection_selectロジックがあり、状態を選択して名前で並べ替えます。
<%= collection_select(:user, :state_id, State.order('name'), :id, :name) %>
IDがStateモデルにあるCountryモデルがあります。私のユーザーモデルにはcountry_idとstate_idがあります。ユーザーは国と州に属しています。国には多くのユーザーがいて、多くの州があります。州は国に属しています。
特定の国の州のみを選択したいと思います。Userモデルのcountry_idをStateモデルのcountry_idに一致させたい。State.where('something;)。order(' name')を使用することを考えました。ただし、このためにSQLをコーディングする方法がわかりません。PostgreSQLデータベースを使用しています。私が見つけた例は、他のデータベースのものです。
2番目の質問は、リストがどのように見えるかに関するものです。ウェブサイトの入力フィールドに合わせて、背景色とフォントの色を変更したいと思います。次のコードを試しましたが、動作しませんでした。
<%= collection_select(:user, :state_id, State.order('name'), :id, :name, {:class=>'collection-select-class'}) %>
私のCSSコードは次のとおりです。
.collection-select-class {
background-color: #333333;
color: @yellow;
}
オプションタグも使ってみましたが、何も変わりませんでした。
どんな助けでもいただければ幸いです。