0

Как можно загладить первую букву списка страны в примере ниже кода? Мой вопрос касается simple_form, а не регулярной формы, для которой можно было бы использовать collection_select.Коллекция верхнего регистра с simple_form

= p.input :state, 
       :readonly => "readonly", 
       :collection => DataState.where(:country => "1"), 
       :selected => 1, 
       :id => "state", 
       :name => "state", 
       :prompt => "Please choose" 

Проблема список состояний в базе данных и сохраняются как «alamaba», «Нью-Йорк» I нужно его понижающим упакованным в базе данных, но хотел бы прописные/капитализировать первая буква для визуальной ясности.

+0

Очевидное решение похоже на 'titleize' ... где-то: p - does': collection => DataState.where (: country => "1"). Titleize' что-нибудь делать?/Вы играли с этим? – dax

ответ

3

Попробуйте это:

В модели DataState, добавить метод, который отображает заглавную версию ваших государственных имен

class DataState < ActiveRecord::Base 
    def capitalized_state 
    state.capitalize 
    end 
end 

затем использовать этот новый метод для отображения вашего выбора

В зависимости если вы пытаетесь сохранить идентификатор состояния в качестве ассоциации или просто строки, то erb будет либо

<%= f.input :state, collection: DataState.where(:country => "1").pluck(:capitalized_state) %> 

или

<%= f.input :state, collection: DataState.where(:country => "1"), value_method: :id, label_method: :capitalized_state %> 

где бывший для имени государства, а второй для ассоциации ид.

посмотреть: using capitalize on a collection_select

Edit: Я заметил, что ваш HTML не определяет, что атрибут класса DataState вы используете в качестве текста для вашего выбора. Если вы используете рельсы, вы должны заглянуть в помощник формы collection_select.

+0

Спасибо, что я тестирую, и если вознаграждение за работу, im, используя simple_form, не уверен в том, что collection_select и simple_form – Rubytastic

+0

Хорошо протестировано, похоже, это работает регулярно, но для этого нужно работать в simple_form. Повторно отредактированный вопрос, чтобы сделать это более понятным – Rubytastic

+0

@Rubytastic Edited. Попробуйте. – hangsu

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