我对路由不是很熟悉,但这是我的困境:
我有一个photos
控制器,其中包含常见的show
,edit
等视图。我正在尝试构建一个温和photos
的视图。我在moderate.html.erb
次观看下有一个photos
视图。我还在moderate
中定义了photos_controller
方法。如果我尝试访问/photos/moderate
这样的视图,我会Couldn't find Photo with ID=moderate
。
我是以正确的方式构建这个,还是moderate
需要拥有自己独立的控制器和视图?对我而言似乎很愚蠢。这只是我需要在路线中配置的东西吗?
更新 我已将此添加到我的路线中:
resources :photos do
resources :comments
collection do
get 'moderate'
end
end
当我转到Couldn't find Photo with ID=moderate
...
/photos/moderate
消息
更新
扯淡!刚刚弄明白了这个问题。我有一个before_filter运行,需要忽略温和的动作......现在工作正常。抱歉,麻烦。
答案 0 :(得分:2)
您可以添加进一步的休息动作。看看docs
答案 1 :(得分:0)
所以你试图分解出能够编辑和查看照片的顾虑吗?
如果您想保持RESTful操作,可以创建一个“中等”命名空间,并将需要身份验证的所有操作放在该命名空间中。
例如,
#routes.rb
namespace :moderate do
resources :photos # will create paths like '/moderate/photos/', '/moderate/photos/1'
end
#controllers/moderate/photos_controller.rb
class Moderate::PhotosController < ActionController
before_filter :authorize_moderator!
#your standard restful actions like 'index', 'show', 'edit, 'update' would go in here.
end