Rails генерирует сообщение об ошибке модели - не указано значение для обязательных параметров '--orm' - PullRequest
0 голосов
/ 24 декабря 2011

Я попытался сгенерировать модель с использованием Rails 3.1.3

rails generate model Blob twit:string

и получил это сообщение об ошибке

No value provided for required options '--orm'

Я пытаюсь добавить несколько вещей в этот RubyТвиттер gem https://github.com/sferik/sign-in-with-twitter,, поэтому я не знаю, нужен ли для этого гема в этом гемфайле (который я не создавал) эти опции ...

Есть ли в моем гемфиле что-то, что требует меня?чтобы завершить эти обязательные параметры и что это за параметры?

update: в папке config не было файла database.yml, поэтому (после прочтения одного из комментариев) я взял один из другого проекта и включил его виспользуйте sqlite3, но это не устранило проблему

source 'https://rubygems.org'

gem 'rails', '~> 3.1.0'

gem 'haml', '~> 3.2.0.alpha'
gem 'omniauth-twitter'
gem 'twitter'

platforms :jruby do
  gem 'jruby-openssl'
end

group :assets do
  gem 'sass-rails'
  gem 'uglifier'
end

gem 'sqlite3'

group :production do

  gem 'thin'
end

group :test do
  gem 'mocha'
  gem 'simplecov'
  gem 'webmock'
end

database.yml

# SQLite version 3.x
#   gem install sqlite3
#
#   Ensure the SQLite 3 gem is defined in your Gemfile
#   gem 'sqlite3'
development:
  adapter: sqlite3
  database: db/development.sqlite3
  pool: 5
  timeout: 5000

# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test: &test
  adapter: sqlite3
  database: db/test.sqlite3
  pool: 5
  timeout: 5000

production:
  adapter: sqlite3
  database: db/production.sqlite3
  pool: 5
  timeout: 5000

Update..это вершина моего файла config / application.rb.Вместо того, чтобы требовать 'all' (как это делают мои другие приложения rails), требуется только несколько выбранных файлов ...

require File.expand_path('../boot', __FILE__)

require 'action_controller/railtie'
require 'rails/test_unit/railtie'
require 'sprockets/railtie'

if defined?(Bundler)
  # If you precompile assets before deploying to production, use this line
  Bundler.require(*Rails.groups(:assets => %w(development test)))
  # If you want your assets lazily compiled in production, use this line
  # Bundler.require(:default, :assets, Rails.env)
end

module SignInWithTwitter

1 Ответ

1 голос
/ 25 декабря 2011

Вам не хватает этой строки из config/application.rb:

require 'active_record/railtie'

Это загрузит ActiveRecord при запуске приложения Rails, предоставляя для него функциональность ORM, необходимую для генератора.

Если вы не хотите использовать ActiveRecord, вам следует изучить DataMapper или даже что-то вроде Mongoid, если базы данных NoSQL плавают на вашей лодке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...