7

私はメソッドdate_selectを使用して、3つのhtml選択、日、月、年を生成しています。ただし、各選択に1つのクラスのCSSが必要です。

ヘルパーにパラメーターを渡す方法をドキュメントで見つけられませんでした。いくつかの方法を試しましたが、何もしませんでした。

Railsビュー:

<%= f.date_select :birthday, :order => [:day, :month, :year], :start_year => 1910, :end_year => 2012, :html => {:class => ['day', 'month', 'year']} %>

HTML出力:

<select id="poll_user_birthday_3i" name="poll_user[birthday(3i)]">
<select id="poll_user_birthday_2i" name="poll_user[birthday(2i)]">
<select id="poll_user_birthday_1i" name="poll_user[birthday(1i)]">

私のようなHTML出力:

<select id="poll_user_birthday_3i" name="poll_user[birthday(3i)]" class="day">
<select id="poll_user_birthday_2i" name="poll_user[birthday(2i)]" class="month">
<select id="poll_user_birthday_1i" name="poll_user[birthday(1i)]" class="year">

ありがとう!

4

4 に答える 4

8

私がこの問題を回避した方法はcssでした

意見

<span class="datetime"> <%= f.date_select :birthdate, :order => [:day, :month, :year], :start_year => 1910, :end_year => 2012 %></span>

CSS

.datetime select:nth-child(1){
  width: 130px;
  text-indent: 15px; 
}

.datetime select:nth-child(2) {
  width: 200px;
  text-indent: 5px;
}

.datetime select:nth-child(3) {
  width: 110px;
  text-indent: 15px;
}
于 2013-02-20T17:39:04.083 に答える
3

Railsは、OPが望んでいたことを正確に実行するようになりました。

:with_css_classes-'select'タグに異なるスタイルを割り当てる場合は、trueに設定します。このオプションは、「select」タグのクラス「year」、「month」、「day」、「hour」、「minute」、および「second」を自動的に設定します。

ソース

于 2013-09-04T11:39:28.120 に答える
2

残念ながら、は各date_select選択に異なるhtmlオプションを渡す方法を提供していません。オプションのhtml_optionsパラメータがそれぞれに適用されます。

個別のヘルパーselect_day select_hourを使用して、独自のヘルパーselect_minuteをコンパイルできます。

そうすれば、それぞれに別々のクラスを渡すことができます。

于 2012-04-05T15:41:23.527 に答える
2

Railsのドキュメント(http://api.rubyonrails.org/classes/ActionView/Helpers/DateHelper.html#method-i-date_select)によると、メソッドの定義は次のようになります。

date_select(object_name、method、options = {}、html_options = {})

上記のオプションを使用すると、次のようにコードを指定できます。

     <%= f.date_select :birthday, {:order => [:day, :month, :year], :start_year => 1910, :end_year => 2012}, {:class => 'common-class'} %>

渡したhtmlオプションは、ドキュメントに従って従わないため破棄されます。したがって、date_select内でクラスを適用することはできません。

詳細については、次のスレッドを参照してください。

Railsでcollection_selectのHTMLオプションを設定するにはどうすればよいですか?

また、正確な出力を取得するには、lebreezeが提案するように個別のヘルパーメソッドを記述し、上記の手順を適用する必要があります。

それが役に立てば幸い。

于 2013-01-29T16:10:40.000 に答える