1

私のモデルを以下に示します

class Question < ActiveRecord::Base
  ANSWERS= ['Option 1', 'Option 2', 'Option 3', 'Option 4']
end

ビューの<%= select(:question, :answer, Question::ANSWERS, {:include_blank => true}) %>出力で

<select name="question[answer]" id="question_answer">
  <option value=""></option>
  <option value="Option 1">Option 1</option>
  <option value="Option 2">Option 2</option>
  <option value="Option 3">Option 3</option>
  <option value="Option 4">Option 4</option>
</select>

私は試し<%= select(:question, :answer, Question::ANSWERS.collect {|d| [d, Question::ANSWERS.index(d)]}, {:include_blank => true}) %> ました

<select name="question[answer]" id="question_answer">
  <option value=""></option>
  <option value="0">Option 1</option>
  <option value="1">Option 2</option>
  <option value="2">Option 3</option>
  <option value="3">Option 4</option>
</select>

しかし、次の出力が必要です

<select name="question[answer]" id="question_answer">
  <option value=""></option>
  <option value="1">Option 1</option>
  <option value="2">Option 2</option>
  <option value="3">Option 3</option>
  <option value="4">Option 4</option>
</select>
4

2 に答える 2

3

2 番目の例では、次を使用します。

<%= select(:question, 
           :answer, 
           Question::ANSWERS.collect {|d| [d, Question::ANSWERS.index(d) + 1]},
           {:include_blank => true}) %>
于 2010-11-22T12:04:43.630 に答える