ошибка rails & # 8220; у вас могут быть неоднозначные маршруты & # 8221;

StackOverflow https://stackoverflow.com/questions/1430723

  •  07-07-2019
  •  | 
  •  

Вопрос

У меня проблема с моими маршрутами и именем пути, который он генерирует. Или я называю это неправильно в представлении или что-то ... не совсем уверен. Мои отношения в моих моделях следующие:

class Client < ActiveRecord::Base
  has_many :users
  has_many :elements, :through => :users 
end

class Element < ActiveRecord::Base
  belongs_to :user
end

Мои маршруты похожи:

map.resources :elements
map.resources :clients, :has_many => :elements

И, на мой взгляд, у меня есть:

<%= link_to element.name, client_element_url %>

Но ошибка, которую я получаю:

    edit_client_element_url failed to generate from {:action=>"edit", :controller=>"elements"} - you may have ambiguous routes, or you may need to supply additional parameters for this route.  content_url has the following required parameters: ["clients", :client_id, "elements", :id, "edit"] - are they all satisfied?

Я не уверен, как поступить, мне не хватает чего-то, что находится прямо в моем лице?

Это было полезно?

Решение

Вам нужно передать элемент и клиента в метод url:

<%= link_to element.name, client_element_url(element.client, element)

Таким образом, он знает, какие client_id и element_id использовать в маршруте

/clients/:client_id/elements/:element_id
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top