生成后,在控制器内创建操作

时间:2012-12-20 01:18:42

标签: ruby-on-rails-3 model-view-controller controller

我正在使用rails应用程序,并通过

生成了一个Controller
rails g controller Pics index upload

但现在我想添加另一个动作

delete

我是通过在Pics控制器中手动添加删除方法来实现的吗?

或者我需要再运行一代。我担心的是,通过手动添加某些东西可能不会被包括在内(不确定它会是什么,但是引擎盖下的东西。)

这是向生成的控制器添加新操作的最佳方法吗?

1 个答案:

答案 0 :(得分:1)

如果您手动添加,只需确保routes.rb上的路线正确 假设您在Pics控制器中创建了delete动作。

def delete
  # do stuff
end

routes.rb上,您需要将路径附加到您的资源,记住要分析它是否是作用于资源成员或集合的资源。 (有关此内容的更多信息,请参阅本指南http://guides.rubyonrails.org/routing.html#adding-more-restful-actions)。

resource :pics do
  collection do
    post :delete
  end
end

resource :pics do
  member do
    post :delete
  end
end

请记住,rails路由器默认处理所有RESTFUL操作,再次尝试阅读我之前显示的指南,以获取有关该主题的准确信息。希望它有所帮助。