我在Rails 3.2應用程序中構建了一個名爲「Subject」的模型。我使用下面的scaffold命令。在Rails中使用保留字?
rails g scaffold Subject subject singular:boolean gender:integer subject_masculine subject_feminine subject_neuter language:references --skip-stylesheets
腳手架運行幾乎到了最後,但隨後給出了關於幫助一個神祕的錯誤:
名稱「SubjectsHelper」是不是已經在你的應用程序中使用或Ruby on Rails的保留。請選擇一個替代品並再次運行此生成器。
我試過扭轉腳手架和重建。最後,我剛建好桌子,看起來工作正常。沒有幫手/ subjects_helper.rb文件,但我不希望這種特定模型需要幫手。
我找不到主題在任何保留字列表中,但這本身就是一個問題。在這個問題上提出了另一個SO職位。
List of reserved words in rails *3*
爲什麼會出現這個錯誤,我可以忽略它?
編輯
我的Gemfile的要求
source 'https://rubygems.org'
gem 'rails', '3.2.8'
gem 'thin'
gem 'sinatra'
gem 'pg'
gem 'simple_form'
gem "nested_form"
gem 'thinking-sphinx'
gem 'devise'
gem 'haml-rails'
gem 'ruby_parser'
gem 'html2haml'
gem 'best_in_place'
gem 'carrierwave'
gem 'fog'
gem 'seed_dump'
gem 'bluecloth'
gem 'redcarpet'
group :assets do
gem 'sass-rails', '~> 3.2.3'
gem 'coffee-rails', '~> 3.2.1'
gem 'prototype-rails'
gem 'uglifier', '>= 1.0.3'
gem 'twitter-bootstrap-rails'
gem 'therubyracer'
gem 'less-rails'
gem 'jquery-datatables-rails'
end
gem 'jquery-rails'
gem 'social_stream'
gem 'rails-footnotes', '>= 3.7.5.rc4', :group => :development
group :development do
gem 'rails-erd'
gem 'quiet_assets'
end
gem 'vestal_versions', :git => "git://github.com/futurechimp/vestal_versions.git"
gem 'diffy'
gem 'diffrent'
EDIT2
按照菲利普的建議下,我從Rails的控制檯跑Module.constants命令。當中的輸出,有兩個「主體」的值:
:SubjectsHelper
:Subject
我檢查了幾次也沒有幫手,所以我決定增加一個。我創建了傭工/ subjects_helper.rb文件,用下面的代碼:
module SubjectsHelper
end
的Rails已經重啓確定。我仍然不明白髮生了什麼事。
爲什麼你在生成命令中有第二個主題? –
你能顯示Gemfile嗎? –
我想這是使用Rspec – apneadiving