2011-12-20 3 views
4

У меня есть ассоциация has_many belongs_to. Я зарегистрировал ресурс. У меня есть отгрузки, принадлежащие клиентам.rails activeadmin выпадающее меню на новые и редактировать формы

Но когда я иду в новую форму отгрузки, в выпадающем меню выбора для клиентов, я получаю # < 0x0000>

Почему? Как я могу это исправить?

Я думаю, это потому, что таблица Customers не имеет атрибута «name», вместо этого у меня есть имя_компании. Как я могу использовать company_name в раскрывающемся меню?

+0

См [этот вопрос] (http://stackoverflow.com/questions/10705372/ruby-on-rails-active-admin-has-many- change-dropdown-to-use-a-different-column) для более полного ответа на ваш вопрос. – rthbound

ответ

0

определите метод «to_s» в вашей модели клиента. Что-то вроде этого:

def to_s 
    company_name 
end 
7

Один из вариантов заключается в переопределении to_s

def to_s 
    company_name 
end 

Другой вариант заключается в следующем:

f.input :customer, :as => :select, :label_method => : company_name , :value_method => :id 
16

Вам не должны переопределить метод to_s, активный администратор может использовать метод display_name специально для этого случая

так что вы можете добавить рядом с моделью

def display_name 
    company_name 
    end