Ruby on rails 如何从另一个控制器连接关联?

Ruby on rails 如何从另一个控制器连接关联?,ruby-on-rails,ruby,ruby-on-rails-3,Ruby On Rails,Ruby,Ruby On Rails 3,我正在开发rails仪表板,并试图找到一种方法来渲染照片,以显示使用rails添加新照片的路径 用户有一个配置文件,该配置文件包含许多相册、照片和视频 专辑路线看起来是这样的 resources :albums do resources :photos end 对于仪表板,仪表板有许多配置文件,配置文件属于仪表板 情景: 我有一个叫视频的模型、控制器等,我可以用它创建一个新的视频 <%= link_to 'Create a new Video', new_video_path %&g

我正在开发rails仪表板,并试图找到一种方法来渲染照片,以显示使用rails添加新照片的路径

用户有一个配置文件,该配置文件包含许多相册、照片和视频

专辑路线看起来是这样的

resources :albums do
  resources :photos
end
对于仪表板,仪表板有许多配置文件,配置文件属于仪表板

情景:

我有一个叫视频的模型、控制器等,我可以用它创建一个新的视频

<%= link_to 'Create a new Video', new_video_path %>

当我将上述代码放在仪表板视图中时,链接会正确显示并工作。它也适用于所有其他单一资源

当我尝试添加

<%= link_to 'New Photo', new_album_photos_path(@album) %>

我无法使嵌套的资源链接工作。相册工作正常,但嵌套在相册下的照片不工作。我得到了错误

未定义的方法“新建相册照片路径”


关于如何修复或解决此问题的任何解决方案?

可能是新的相册照片路径(非复数照片),不是100%确定

运行bundle exec rake routes它将输出从routes.rb构建的所有模式和方法名

config/routes.rb:

尝试替换代码:

resources :albums do
  resources :photos
end

“资源:相册”或/和“资源:照片”之前的任何位置。上层管线覆盖嵌套管线。我想是的…

我已经试过了,它给我的错误是没有匹配的路由。不确定这为什么不起作用
bundle exec rake routes
在终端中显示了什么?它应该向您显示正确的方法名称-可能是相册新照片路径?它显示
新相册照片
但是当访问仪表板页面时,我得到错误
没有路径匹配{:action=>“new”,:controller=>“photos”}
我认为house9是正确的。请记住,您仍然需要将@album实例发送到route helper,即您希望将照片添加到哪个相册
new\u album\u photo\u path(@album)
现在我想我看到了问题所在。添加照片可能会有所不同,因为作为用户,您不确定照片将添加到哪个相册中。有没有办法让这一切顺利进行?