#ruby-on-rails #ruby
#ruby-on-rails #ruby
Вопрос:
Как же мне подключиться к родительскому ресурсу? У меня Companies
их много Orders
.
В моем представлении заказов я перечислил связанную компанию с
@order.company.name
Однако, когда я пытаюсь использовать link_to , он ссылается только на порядок:
<%= link_to @order.company.name, company_path %>
В моих маршрутах у меня есть это:
resources :companies do
resources :orders do
resources :comments
end
end
В чем исправление и где я могу прочитать больше об этом?
Комментарии:
1. в зависимости от вашего маршрута.rb. Это значение по умолчанию? .компания — это ваш активный набор записей? тогда вам, вероятно, придется использовать company.id но сначала дайте больше информации.
2. Привет, внес некоторые правки выше, спасибо Jx
3. Сортируется с помощью: <%= link_to @order.company.name , :controller => ‘companies’, :action => ‘show’, :id => @order.company.id %> Хотя не уверен, что это немного ott. Jx
Ответ №1:
<%= link_to @order.company.name, company_path(@order.company) %>
Вы должны передать что-то company_path
, чтобы оно знало, для чего Company
получить путь. Это отдельная форма companies_path
, которая возвращает путь для всех компаний.
/companies/12
против /companies
Комментарии:
1. Намного приятнее, чем мое решение!!
2. Я рад, что это сработало! Я не мог вспомнить, было ли это правильным решением.
3. я обновил, чтобы убрать предположение и немного доработать
Ответ №2:
Я предполагаю, что у вас есть типовые заказы и типовые компании. итак, у компаний есть множество заказов. Если вы настроите это обычным способом, все ваши записи будут иметь id в качестве идентификатора. В этом случае company.id это идентификатор записи, если вы хотите создать обратную ссылку на страницу компании.