У меня есть следующее определение в модели клиента:
def cli_full_name
[f_name, mi, l_name].join(' ')
end
Я бы хотел, чтобы cli_full_name отображалось на странице контракта. Вот моя страница приложения / views / contract / show.html.haml:
- provide(:title, @contract.authnum)
%h3
= @contract.authnum
%span1
= @client.cli_full_name
Я получаю сообщение об ошибке "неопределенный метод" cli_full_name.
Ассоциация состоит в том, что контракт имеет * has_many: clients: through =>: clientlines *
Итак, я добавил вложенный маршрут в свой файл маршрутов, думая, что это заставит работать так:
resources :contracts do
resources :clients
end
Не повезло.
Может ли кто-нибудь помочь мне понять, как заставить имя_символа отображать на странице показа контракта?
Спасибо.
Обновление
Это работает, если вы перешли на страницу показа клиента, но я хочу это на странице показа контракта:)
Даже если я изменю свои вложенные маршруты на формат, предложенный Джамисом Баком:
http://weblog.jamisbuck.org/2007/2/5/nesting-resources
Мне все еще не удается отобразить имя_символа на странице показа контрактов.
Может я не понимаю вложенные атрибуты и вложенные маршруты?
Помощь