ошибка rails & # 8220; у вас могут быть неоднозначные маршруты & # 8221;
-
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
Не связан с StackOverflow