如何连接另一个控制器的关联?

时间:2012-02-27 01:05:58

标签: 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 %>

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

当我尝试添加

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

我无法使嵌套资源链接起作用。相册工作正常,但嵌套在相册下的照片却没有。我收到了错误

  

未定义的方法`new_album_photos_path'

有关如何解决或解决此问题的任何解决方案?

2 个答案:

答案 0 :(得分:2)

可能是new_album_photo_path(非复数照片),不是100%肯定

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

答案 1 :(得分:0)

配置/ routes.rb中:

尝试替换代码:

resources :albums do
  resources :photos
end

之前的任何地方:'资源:专辑'或/和'资源:照片'。上层路由覆盖您的嵌套路由。我想是的......