0

customer_gender - это массив массивов.Как выбрать значение по умолчанию при загрузке формы редактирования

Я хочу выбрать текущее значение в форме редактирования Но это не сработало.

Я думаю, что проблема является значение между мужчинами и женщинами является не число, а строка,

Как решить эту проблему, если значение является строкой

customer_gender= [ 
['男', male], 
['女', female] 
] 

= simple_form_for(@customer) do |f| 
    .form-inputs 
    - customer_gender = Customer::GENDER.collect do |gender| 
     - t(gender) 
    = f.input :gender,label: t("gender"),as: :select, | 
    :collection => customer_gender, | 
    :include_blank => false, :selected => @customer.gender 


irb(main):003:0> cols(Customer) 
[ 
    [ 0] "id", ... 
    [11] "gender", 
] 

Если я должен поставить номера в gender столбец,

Как я могу применить i18n для преобразования 1-> мужской, 2-> женский?

+1

Вы уверены, что у клиента @customer определен гендерный атрибут? – mmichael

+0

Конечно, я обновляю свой вопрос. – newBike

ответ

0

Невозможно передать значение .gender целому числу с использованием метода .to_i?

= simple_form_for(@customer) do |f| 
    .form-inputs 
    = f.input :gender, label: t("gender"), as: :select, | 
    :collection => @genders, | 
    :include_blank => false, :selected => @customer.gender.to_i 
+0

, но значение является строковым типом, «мужчина, женщина», как он мог разобрать целое число? – newBike

+0

Извинения. Я думал, вы использовали 0/1 для обозначения пола. Другой язык тоже меня смутил - позвольте мне сделать для вас обновление –

+0

HI, Спасибо за ваш ответ. Если мне нужно поместить цифры в колонку 'gender', Как я могу применить i18n для преобразования 1-> male, 2 -> женщина? чтобы показать пользователю «мужчина» вместо 1 – newBike

0

добавить к модели

def gender_txt 
    ["Not Telling", "Male", "Female"][self.gender - 1] 
end 
and in view 
<%= f.select :gender, User::GENDER_TYPES, 'data-bind' => 'value: user.gender', selected: @user.gender_txt %> 

это покажет соответствующий текст для целого пола столбца.

Смежные вопросы