Строительные леса Rails4 Пустой контроллер

Я использую несколько строительных лесов в своем проекте testapp.

я создал 1-й эшафот так:

rails g Post title desc:text

это было успешно и создало все соответствующие файлы и контроллер также.

но когда я сделал еще один эшафот:

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 пусто, почему так??

Еще 1 вещь, которую я также использую activeadmin, я знаю, что это не имеет никакого отношения к этому.

1 ответ

Решение

Я не могу воспроизвести это на базовой установке Rails:

$ 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 имеет все строки, которые я ожидал бы иметь:

$ wc -l app/controllers/products_controller.rb
      74 app/controllers/products_controller.rb

Тем не менее, если я добавлю ActiveAdmin в Gemfile:

$ echo 'gem "activeadmin", github: "gregbell/active_admin"' >> Gemfile && bundle

и создать эшафот:

$ rails g scaffold product name:string information:text 'price:decimal{7,2}' stock:integer available:boolean

мой app/controllers/products_controller.rb содержит намного меньше кода. Это не пусто, но почти:

class ProductsController < InheritedResources::Base
end

Если это также и то, что вы видите, ваша проблема связана с тем, что ActiveAdmin используеттекайские_ресурсы для выполнения некоторых тяжелых работ. И у вас получился контроллер InheritedResource.

Контроллер должен работать отлично, хотя.

Другие вопросы по тегам