2014-02-05 3 views
0

У меня есть форма, использующая slim/simple_form.Простая форма label_method для связанной модели

= f.association :users, 
    collection: @users, 
    prompt: "Choose Recipient", 
    label_method: :first_name 

Я хотел бы иметь полное имя пользователя в качестве меток меток, может ли кто-нибудь указать мне в правильном направлении? У меня есть только first_name и last_name как атрибуты. Я также предпочел бы добавить название компании пользователя рядом со своим полным именем для ясности в выборе. Разрешает ли простая форма? иначе я отступлю опционы из коллекции для выбора

ответ

1

Создать метод на модели:

class User < ArcitveRecord::Base 
    # ... 

    def full_name 
    "#{first_name} #{last_name}" 
    end 
end 

и использовать его:

= f.association :users, 
    collection: @users, 
    prompt: "Choose Recipient", 
    label_method: :full_name 
+0

Я действительно уже имел его в модели. Глупый я не думал использовать его, я думал, что только атрибуты базы данных можно использовать –

1

Если вы хотите предпочитают добавлять company_name рядом с full_name , Я просто изменил бы Broisatse's ответить как

class User < ArcitveRecord::Base 
    # ... 

    def full_name_with_company_name 
    "#{first_name} #{last_name} #{company_name}" 
    end 
end 

и использовать его:

= f.association :users, 
    collection: @users, 
    prompt: "Choose Recipient", 
    label_method: :full_name_with_company_name 
+0

хорошо, спасибо :) –

+0

Добро пожаловать :) – Pavan

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