меню выбора formtastic с использованием массива

Я пытаюсь заполнить меню выбора formtastic с помощью массива.

модель

PAYMENT_METHODS = %w[creditcard check money-order cash western-union]

Просмотры

<%= f.input :payment_methods, :as=>:select, :collection => User::PAYMENT_METHODS%>

Это работает, но вот как это выглядит сейчас.

<select>
<option value="creditcard">creditcard</option>
<option value="western-union">western-union</option>
</select>

Вместо этого я хочу, чтобы это выглядело так:

<select>
<option value="creditcard">Credit Card</option>
<option value="western-union">Western Union</option>
</select>

Как я могу заставить это работать?


person randika    schedule 13.10.2011    source источник


Ответы (1)


У меня не было возможности проверить это, но я думаю, что вы можете сделать это таким образом.

%w[Credit\ Card Check Money \Order Cash Western\ Union]

Из документов Programming Ruby.

Обновлено:

Прочитав избранные примеры на странице formtastic Github, я думаю, вы сможете это сделать. Как и прежде, он не проверен.

 <%= f.input :payment_methods, :as=>:select, :collection => { "Credit Card" => "creditcard", "Check" => "check", "Money Order" => "money-order", "Cash" => "cash" "Western Union" => "western-union" > 
person nathan    schedule 13.10.2011
comment
Спасибо, но я хотел бы сохранить значение как credit-card в базе данных, показывая Credit Card в качестве отображаемого имени для элемента опции. - person randika; 14.10.2011
comment
Ах, я не знал, что вы хотите что-то другое для базы данных. Я обновил свой ответ. - person nathan; 14.10.2011