0

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;
}

オプションタグも使ってみましたが、何も変わりませんでした。

どんな助けでもいただければ幸いです。

4

2 に答える 2

0

CSSは現在その機能をサポートしていません。

ここを見て:

HTML<select>選択されたオプション背景色CSSスタイル

于 2013-03-05T12:26:37.740 に答える
0

この質問のCSS関連の部分については、以下のリンクで回答することを参照しています。

https://stackoverflow.com/a/1947675

つまり、機能させるには、空のハッシュ{}を追加する必要があります。したがって、次のようになります。

<%= collection_select(:user, :state_id, State.order('name'), :id, :name, {}, {:class=>'collection-select-class'})  %>

お役に立てれば!

于 2017-09-02T22:53:53.650 に答える