我正在尝试使用rails生成命令生成评论控制器,但它给出了一个奇怪的错误:-
$ rails generate controller comments
The name 'CommentsController' is either already used in your application or reserved by Ruby on Rails. Please choose an alternative and run this generator again.
我已经检查了,但我没有评论控制器。以下是我尝试过的命令:-
$ rails generate controller Comments create
The name 'CommentsController' is either already used in your application or reserved by Ruby on Rails. Please choose an alternative and run this generator again.
$ rails generate controller comments
The name 'CommentsController' is either already used in your application or reserved by Ruby on Rails. Please choose an alternative and run this generator again.
$ rails g controller Comments
The name 'CommentsController' is either already used in your application or reserved by Ruby on Rails. Please choose an alternative and run this generator again
请帮我一下。
这是GemFile:-
source 'http://rubygems.org'
gem 'rails', '3.2.13'
gem 'bootstrap-sass', '2.1'
# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'
gem 'sqlite3'
gem 'mysql'
gem 'activeadmin'
gem "meta_search", '>= 1.1.0.pre'
gem 'formtastic'
# Gems used only for assets and not required
# in production environments by default.
group :assets do
gem 'sass-rails', '~> 3.2.3'
gem 'coffee-rails', '~> 3.2.1'
# See https://github.com/sstephenson/execjs#readme for more supported runtimes
# gem 'therubyracer', :platforms => :ruby
gem 'uglifier', '>= 1.0.3'
end
gem 'jquery-rails'
group :development, :test do
gem 'rspec-rails', '~> 2.11.0'
gem 'factory_girl_rails', '~> 3.5.0'
gem 'capybara', '~> 1.1.2'
gem 'guard-rspec', '~> 1.2.0'
end
# To use ActiveModel has_secure_password
gem 'bcrypt-ruby', '~> 3.0.0'
# To use Jbuilder templates for JSON
# gem 'jbuilder'
# Use unicorn as the app server
# gem 'unicorn'
# Deploy with Capistrano
# gem 'capistrano'
# To use debugger
# gem 'debugger'
active_admin
gem使用相同的名称comments
。这就是为什么rails生成器不让您创建comments controller
。请看这个:github.com/gregbell/active_admin/tree/master/lib/active_admin。在这里可以看到comments
目录。因此,最好为控制器使用其他名称,以避免出现问题。
如果你不需要admin部分的注释,那么你可以关闭它。
转到/config/initializers/active_admin.rb
,写config.allow_comments = false
。一旦完成,您就可以生成控制器,并且不会与active_admin发生冲突。
我刚刚手动创建了comments_controller
,它正在工作。active_admin
可能是一个问题。我问过一个朋友,但他在active_admin
上没有遇到任何这样的问题。所以,我不确定问题是什么,但现在,创建控制器手动工作。