Ссылка на родительский элемент из вложенного ресурса

#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 это идентификатор записи, если вы хотите создать обратную ссылку на страницу компании.