首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >脚手架Rails4空控制器

脚手架Rails4空控制器
EN

Stack Overflow用户
提问于 2014-05-13 06:39:20
回答 1查看 741关注 0票数 0

我在我的testapp项目中使用多个脚手架。

我创造了这样的第一个脚手架:

rails g Post title desc:text

它成功地创建了所有相关文件和控制器。

但当我做了另一个脚手架时:

代码语言:javascript
运行
复制
testapp$ rails g scaffold product name:string information:text 'price:decimal{7,2}' stock:integer available:boolean
      invoke  active_record
      create    db/migrate/20140513062549_create_products.rb
      create    app/models/product.rb
      invoke    test_unit
      create      test/models/product_test.rb
      create      test/fixtures/products.yml
      invoke  resource_route
       route    resources :products
      invoke  inherited_resources_controller
      create    app/controllers/products_controller.rb
      invoke    erb
      create      app/views/products
      create      app/views/products/index.html.erb
      create      app/views/products/edit.html.erb
      create      app/views/products/show.html.erb
      create      app/views/products/new.html.erb
      create      app/views/products/_form.html.erb
      invoke    test_unit
      create      test/controllers/products_controller_test.rb
      invoke    helper
      create      app/helpers/products_helper.rb
      invoke      test_unit
      create        test/helpers/products_helper_test.rb
      invoke    jbuilder
      create      app/views/products/index.json.jbuilder
      create      app/views/products/show.json.jbuilder
      invoke  assets
      invoke    coffee
      create      app/assets/javascripts/products.js.coffee
      invoke    scss
      create      app/assets/stylesheets/products.css.scss
      invoke  scss
   identical    app/assets/stylesheets/scaffolds.css.scss

但是当我打开控制器app/controllers/products_controller.rb时,它是空的,为什么??

我还使用了activeadmin,我知道它与此无关。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-13 07:14:52

我不能在一个基本的Rails安装上复制它:

代码语言:javascript
运行
复制
$ rails new empty && cd empty
$ rails g scaffold Post title desc:text
$ rails g scaffold product name:string information:text 'price:decimal{7,2}' stock:integer available:boolean

在此之后,app/controllers/products_controller.rb拥有了我希望它拥有的所有行:

代码语言:javascript
运行
复制
$ wc -l app/controllers/products_controller.rb
      74 app/controllers/products_controller.rb

也就是说,如果我将ActiveAdmin添加到Gemfile中:

代码语言:javascript
运行
复制
$ echo 'gem "activeadmin", github: "gregbell/active_admin"' >> Gemfile && bundle

并生成脚手架:

代码语言:javascript
运行
复制
$ rails g scaffold product name:string information:text 'price:decimal{7,2}' stock:integer available:boolean

我的app/controllers/products_controller.rb包含的代码要少得多。它不是空的,但几乎是:

代码语言:javascript
运行
复制
class ProductsController < InheritedResources::Base
end

如果这也是您所看到的,那么您的问题来自这样一个事实: ActiveAdmin使用inherited_resources来完成一些繁重的工作。你最终得到了am InheritedResource控制器。

不过,控制器应该工作得很好。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23624311

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档