Rails路由问题

时间:2011-09-03 12:15:46

标签: ruby-on-rails routing

我对路由不是很熟悉,但这是我的困境:

我有一个photos控制器,其中包含常见的showedit等视图。我正在尝试构建一个温和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运行,需要忽略温和的动作......现在工作正常。抱歉,麻烦。

2 个答案:

答案 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