Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 轨道错误“;您可能有不明确的路线”;_Ruby On Rails_Ruby_Routes - Fatal编程技术网

Ruby on rails 轨道错误“;您可能有不明确的路线”;

Ruby on rails 轨道错误“;您可能有不明确的路线”;,ruby-on-rails,ruby,routes,Ruby On Rails,Ruby,Routes,我的路由及其生成的路径名称有问题。或者我在视图中把它命名错了什么的。。。不完全确定。我的模型中的关系如下: class Client < ActiveRecord::Base has_many :users has_many :elements, :through => :users end class Element < ActiveRecord::Base belongs_to :user end 我认为: <%= link_to element.n

我的路由及其生成的路径名称有问题。或者我在视图中把它命名错了什么的。。。不完全确定。我的模型中的关系如下:

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

class Element < ActiveRecord::Base
  belongs_to :user
end
我认为:

<%= link_to element.name, client_element_url %>

我不知道如何继续,我是否缺少了一些正确的内容?

您需要将元素和客户端传递给url方法:

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

事实上,错误消息的结尾告诉您这个问题,尽管不是很简单:“[“clients”、:client_id、“elements”、:id、“edit”]-他们都满意吗?”当然,“clients”、“elements”和“edit”都“满意”“因为它们是常数。剩下:client\u id和:id,这需要按照erik的建议填写。没有必要这样做,但是如果您对显式版本更满意,您可以执行
client\u element\u url(:client\u id=>element.client,:id=>element)
    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?
<%= link_to element.name, client_element_url(element.client, element)
/clients/:client_id/elements/:element_id