オプションタグを選択しますか?

私はrorで新しいです。

railsのoption selectタグ

<%= select_tag(:city_id, ',' %>

このhtmlを生成します:


オプション選択タグ

<%= select_tag(:city_id, options_for_select([['Lisbon', 1], ['Madrid', 2]])) %>

このhtmlを生成します:


2番目のオプションの選択タグのために私はオプションでドロップダウンを取得していますが、最初は1つしか表示されません。 誰でも私にそれがなぜそう説明することができますか?

1

3 答え

あなたがこれらの2つの都市だけを持っているなら、あなたは普通のhtml


あなたがデータベースから都市を取得した場合、それを行うことができます

select_tag ‘city_id’, options_for_select(@cities.collect{ |u| [u.name, u.id] })

これは次のようなものを生成します:


htmlを使うのを恐れないでください。最も簡単な解決策が最良の解決策です。

2
追加された
私はレールに慣れていないので、なぜ同じHTMLを作成しても最初のコードが機能しない理由を知りたかったのです。
追加された 著者 Krishna Kumar,
railsメソッドは、あなたがオプションをどのように渡すかについて本当にspesificです。 select_tagはrailsメソッドです。 select_tagメソッドにオプションを送信する最初の方法は正しくありません。
追加された 著者 Andreas Lyngstad,

あなたが本当に編集ページで国名を選択したままにしたい場合は..

<%= f.select :country, (country_name), :selected => @model.country %>

country_name はヘルパーのメソッドです。

1
追加された

Ref this

変化する

<%= select_tag(:city_id, ',' %>

<%= select_tag(:city_id, ',') %>

選択タグを閉じていない、つまりがありません

0
追加された