【问题标题】:Scaffold Generator problem in Rails 2.1+Rails 2.1+ 中的脚手架生成器问题
【发布时间】:2008-11-24 08:41:29
【问题描述】:

我安装了新的 Rails 2.2,在我使用脚手架生成器之前一切正常。

$ script/generate scaffold pages \
  title:string description:string content:text

$ rake db:migrate

但是当我使用这个地址启动服务器时:http://localhost:3000/pages/ 我得到了这个:

NoMethodError in PagesController#index
undefined method `find' for ActionController::Caching::Pages:Module

app/controllers/pages_controller.rb:5:in 'index'
/Library/Ruby/Gems/1.8/gems/actionpack-2.2.2/lib/action_controller/base.rb:1253:in 'send'
/Library/Ruby/Gems/1.8/gems/actionpack-2.2.2/lib/action_controller/base.rb:1253:in 'perform_action_without_filters'
/Library/Ruby/Gems/1.8/gems/actionpack-2.2.2/lib/action_controller/filters.rb:617:in 'call_filters'
...

我不明白我做错了什么?那是新的 Rails 特定的东西吗?

【问题讨论】:

  • 您能否编辑以在您的 PagesController 中包含 index 方法的代码。

标签: ruby-on-rails


【解决方案1】:

资源名称应为单数。所以试试

script/generate scaffold page title:string description:string content:text

而不是页面

此外,您对脚手架生成器的调用会创建 Pages 模型,该模型与您的控制器中可用的模块 ActionController::Caching::Pages 同名,并且 Rails 会感到困惑(因为 Pages 模块没有像 find 这样的方法) .

【讨论】:

  • 这行得通,页面是原因,但是什么叫 CMS 控制器来管理页面?
猜你喜欢
  • 2023-03-12
  • 1970-01-01
  • 1970-01-01
  • 2018-12-15
  • 1970-01-01
  • 2011-07-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多