代码之家  ›  专栏  ›  技术社区  ›  american-ninja-warrior

用装置安装导轨(头型)的正确方法

  •  1
  • american-ninja-warrior  · 技术社区  · 6 年前

    我做错什么了?我只是想让designe使用edge rails应用程序。我得到错误“直接从ActiveRecord继承::不支持迁移。” 轨道骨架是使用所述技术制作的 here 设计安装步骤主要来自 https://github.com/plataformatec/devise/blob/master/README.md

    $ cd /tmp
    $ ruby --version
    ruby 2.3.3p222 (2016-11-21 revision 56859) [universal.x86_64-darwin17]
    $ rbenv shell 2.5.1
    $ ruby --version
    ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-darwin17]
    $ echo "source 'https://rubygems.org'" >> Gemfile
    $ echo "gem 'rails', git: 'https://github.com/rails/rails.git'" >> Gemfile
    $ bundle install
    Fetching https://github.com/rails/rails.git
    Fetching gem metadata from https://rubygems.org/.............
    Fetching gem metadata from https://rubygems.org/..........
    Fetching gem metadata from https://rubygems.org/..........
    Resolving dependencies...
    Using rake 12.3.1
    Using concurrent-ruby 1.0.5
    Using i18n 1.1.0
    Using minitest 5.11.3
    Using thread_safe 0.3.6
    Using tzinfo 1.2.5
    Using activesupport 6.0.0.alpha from https://github.com/rails/rails.git (at master@0627442)
    Using builder 3.2.3
    Using erubi 1.7.1
    Using mini_portile2 2.3.0
    Using nokogiri 1.8.4
    Using rails-dom-testing 2.0.3
    Using crass 1.0.4
    Using loofah 2.2.2
    Using rails-html-sanitizer 1.0.4
    Using actionview 6.0.0.alpha from https://github.com/rails/rails.git (at master@0627442)
    Using rack 2.0.5
    Using rack-test 1.1.0
    Using actionpack 6.0.0.alpha from https://github.com/rails/rails.git (at master@0627442)
    Using nio4r 2.3.1
    Using websocket-extensions 0.1.3
    Using websocket-driver 0.7.0
    Using actioncable 6.0.0.alpha from https://github.com/rails/rails.git (at master@0627442)
    Using globalid 0.4.1
    Using activejob 6.0.0.alpha from https://github.com/rails/rails.git (at master@0627442)
    Using mini_mime 1.0.1
    Using mail 2.7.0
    Using actionmailer 6.0.0.alpha from https://github.com/rails/rails.git (at master@0627442)
    Using activemodel 6.0.0.alpha from https://github.com/rails/rails.git (at master@0627442)
    Using activerecord 6.0.0.alpha from https://github.com/rails/rails.git (at master@0627442)
    Using mimemagic 0.3.2
    Using marcel 0.3.3
    Using activestorage 6.0.0.alpha from https://github.com/rails/rails.git (at master@0627442)
    Using bundler 1.16.2
    Using method_source 0.9.0
    Using thor 0.20.0
    Using railties 6.0.0.alpha from https://github.com/rails/rails.git (at master@0627442)
    Using sprockets 3.7.2
    Using sprockets-rails 3.2.1
    Using rails 6.0.0.alpha from https://github.com/rails/rails.git (at master@0627442)
    Bundle complete! 1 Gemfile dependency, 40 gems now installed.
    Use `bundle info [gemname]` to see where a bundled gem is installed.
    $
    $
    $ bundle exec rails new . --dev --force
           exist
          create  README.md
          create  Rakefile
          create  .ruby-version
          create  config.ru
          create  .gitignore
           force  Gemfile
             run  git init from "."
    Initialized empty Git repository in /private/tmp/.git/
          create  package.json
          create  app
          create  app/assets/config/manifest.js
          create  app/assets/javascripts/application.js
          create  app/assets/javascripts/cable.js
          create  app/assets/stylesheets/application.css
          create  app/channels/application_cable/channel.rb
          create  app/channels/application_cable/connection.rb
          create  app/controllers/application_controller.rb
          create  app/helpers/application_helper.rb
          create  app/jobs/application_job.rb
          create  app/mailers/application_mailer.rb
          create  app/models/application_record.rb
          create  app/views/layouts/application.html.erb
          create  app/views/layouts/mailer.html.erb
          create  app/views/layouts/mailer.text.erb
          create  app/assets/images/.keep
          create  app/assets/javascripts/channels
          create  app/assets/javascripts/channels/.keep
          create  app/controllers/concerns/.keep
          create  app/models/concerns/.keep
          create  bin
          create  bin/rails
          create  bin/rake
          create  bin/setup
          create  bin/update
          create  bin/yarn
          create  config
          create  config/routes.rb
          create  config/application.rb
          create  config/environment.rb
          create  config/cable.yml
          create  config/puma.rb
          create  config/storage.yml
          create  config/environments
          create  config/environments/development.rb
          create  config/environments/production.rb
          create  config/environments/test.rb
          create  config/initializers
          create  config/initializers/application_controller_renderer.rb
          create  config/initializers/assets.rb
          create  config/initializers/backtrace_silencers.rb
          create  config/initializers/content_security_policy.rb
          create  config/initializers/cookies_serializer.rb
          create  config/initializers/cors.rb
          create  config/initializers/filter_parameter_logging.rb
          create  config/initializers/inflections.rb
          create  config/initializers/mime_types.rb
          create  config/initializers/new_framework_defaults_6_0.rb
          create  config/initializers/wrap_parameters.rb
          create  config/locales
          create  config/locales/en.yml
          create  config/master.key
          append  .gitignore
          create  config/boot.rb
          create  config/database.yml
          create  db
          create  db/seeds.rb
          create  lib
          create  lib/tasks
          create  lib/tasks/.keep
          create  lib/assets
          create  lib/assets/.keep
          create  log
          create  log/.keep
          create  public
          create  public/404.html
          create  public/422.html
          create  public/500.html
          create  public/apple-touch-icon-precomposed.png
          create  public/apple-touch-icon.png
          create  public/favicon.ico
          create  public/robots.txt
          create  tmp
          create  tmp/.keep
          create  tmp/cache
          create  tmp/cache/assets
          create  vendor
          create  vendor/.keep
          create  test/fixtures
          create  test/fixtures/.keep
          create  test/fixtures/files
          create  test/fixtures/files/.keep
          create  test/controllers
          create  test/controllers/.keep
          create  test/mailers
          create  test/mailers/.keep
          create  test/models
          create  test/models/.keep
          create  test/helpers
          create  test/helpers/.keep
          create  test/integration
          create  test/integration/.keep
          create  test/test_helper.rb
          create  test/system
          create  test/system/.keep
          create  test/application_system_test_case.rb
          create  storage
          create  storage/.keep
          create  tmp/storage
          create  tmp/storage/.keep
          remove  config/initializers/cors.rb
          remove  config/initializers/new_framework_defaults_6_0.rb
             run  bundle install
    Fetching https://github.com/rails/web-console.git
    The dependency tzinfo-data (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for x86-mingw32, x86-mswin32, x64-mingw32, java. To add those platforms to the bundle, run `bundle lock --add-platform x86-mingw32 x86-mswin32 x64-mingw32 java`.
    Fetching gem metadata from https://rubygems.org/.........
    Fetching gem metadata from https://rubygems.org/..........
    Fetching gem metadata from https://rubygems.org/..........
    Resolving dependencies....
    Using rake 12.3.1
    Using concurrent-ruby 1.0.5
    Using i18n 1.1.0
    Using minitest 5.11.3
    Using thread_safe 0.3.6
    Using tzinfo 1.2.5
    Using activesupport 6.0.0.alpha from source at `/Users/user/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/bundler/gems/rails-06274428e534`
    Using builder 3.2.3
    Using erubi 1.7.1
    Using mini_portile2 2.3.0
    Using nokogiri 1.8.4
    Using rails-dom-testing 2.0.3
    Using crass 1.0.4
    Using loofah 2.2.2
    Using rails-html-sanitizer 1.0.4
    Using actionview 6.0.0.alpha from source at `/Users/user/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/bundler/gems/rails-06274428e534`
    Using rack 2.0.5
    Using rack-test 1.1.0
    Using actionpack 6.0.0.alpha from source at `/Users/user/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/bundler/gems/rails-06274428e534`
    Using nio4r 2.3.1
    Using websocket-extensions 0.1.3
    Using websocket-driver 0.7.0
    Using actioncable 6.0.0.alpha from source at `/Users/user/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/bundler/gems/rails-06274428e534`
    Using globalid 0.4.1
    Using activejob 6.0.0.alpha from source at `/Users/user/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/bundler/gems/rails-06274428e534`
    Using mini_mime 1.0.1
    Using mail 2.7.0
    Using actionmailer 6.0.0.alpha from source at `/Users/user/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/bundler/gems/rails-06274428e534`
    Using activemodel 6.0.0.alpha from source at `/Users/user/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/bundler/gems/rails-06274428e534`
    Using activerecord 6.0.0.alpha from source at `/Users/user/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/bundler/gems/rails-06274428e534`
    Using mimemagic 0.3.2
    Using marcel 0.3.3
    Using activestorage 6.0.0.alpha from source at `/Users/user/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/bundler/gems/rails-06274428e534`
    Using public_suffix 3.0.3
    Using addressable 2.5.2
    Using io-like 0.3.0
    Using archive-zip 0.11.0
    Using bindex 0.5.0
    Using bundler 1.16.2
    Using byebug 10.0.2
    Using xpath 3.1.0
    Using capybara 3.8.1
    Using ffi 1.9.25
    Using childprocess 0.9.0
    Using chromedriver-helper 2.1.0
    Using coffee-script-source 1.12.2
    Using execjs 2.7.0
    Using coffee-script 2.4.1
    Using method_source 0.9.0
    Using thor 0.20.0
    Using railties 6.0.0.alpha from source at `/Users/user/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/bundler/gems/rails-06274428e534`
    Using coffee-rails 4.2.2
    Using multi_json 1.13.1
    Using jbuilder 2.7.0
    Using rb-fsevent 0.10.3
    Using rb-inotify 0.9.10
    Using ruby_dep 1.5.0
    Using listen 3.1.5
    Using puma 3.12.0
    Using sprockets 3.7.2
    Using sprockets-rails 3.2.1
    Using rails 6.0.0.alpha from source at `/Users/user/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/bundler/gems/rails-06274428e534`
    Using rubyzip 1.2.2
    Using sass-listen 4.0.0
    Using sass 3.6.0
    Using tilt 2.0.8
    Using sass-rails 5.0.7
    Using selenium-webdriver 3.14.0
    Using sqlite3 1.3.13
    Using turbolinks-source 5.2.0
    Using turbolinks 5.2.0
    Using uglifier 4.1.19
    Using web-console 3.7.0 from https://github.com/rails/web-console.git (at master@a46d9ff)
    Bundle complete! 15 Gemfile dependencies, 73 gems now installed.
    Use `bundle info [gemname]` to see where a bundled gem is installed.
             run  bundle binstubs bundler
    $
    $
    $
    $
    $ bundle exec rails server
    => Booting Puma
    => Rails 6.0.0.alpha application starting in development
    => Run `rails server --help` for more startup options
    Puma starting in single mode...
    * Version 3.12.0 (ruby 2.5.1-p57), codename: Llamas in Pajamas
    * Min threads: 5, max threads: 5
    * Environment: development
    * Listening on tcp://0.0.0.0:3000
    Use Ctrl-C to stop
    Started GET "/" for 127.0.0.1 at 2018-09-24 13:36:08 -0700
       (1.7ms)  SELECT sqlite_version(*)
    Processing by Rails::WelcomeController#index as HTML
      Rendering /Users/user/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/bundler/gems/rails-06274428e534/railties/lib/rails/templates/rails/welcome/index.html.erb
      Rendered /Users/user/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/bundler/gems/rails-06274428e534/railties/lib/rails/templates/rails/welcome/index.html.erb (6.9ms)
    Completed 200 OK in 17ms (Views: 10.8ms | ActiveRecord: 0.0ms)
    
    
    ^C- Gracefully stopping, waiting for requests to finish
    === puma shutdown: 2018-09-24 13:36:12 -0700 ===
    - Goodbye!
    Exiting
    $
    $
    $ # Yay! You’re on Rails!
    $
    $
    $
    $ echo 'gem "devise"' >> Gemfile
    $ bundle install
    The dependency tzinfo-data (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for x86-mingw32, x86-mswin32, x64-mingw32, java. To add those platforms to the bundle, run `bundle lock --add-platform x86-mingw32 x86-mswin32 x64-mingw32 java`.
    Fetching gem metadata from https://rubygems.org/.........
    Fetching gem metadata from https://rubygems.org/..........
    Fetching gem metadata from https://rubygems.org/..........
    Resolving dependencies...
    Using rake 12.3.1
    Using concurrent-ruby 1.0.5
    Using i18n 1.1.0
    Using minitest 5.11.3
    Using thread_safe 0.3.6
    Using tzinfo 1.2.5
    Using activesupport 6.0.0.alpha from source at `/Users/user/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/bundler/gems/rails-06274428e534`
    Using builder 3.2.3
    Using erubi 1.7.1
    Using mini_portile2 2.3.0
    Using nokogiri 1.8.4
    Using rails-dom-testing 2.0.3
    Using crass 1.0.4
    Using loofah 2.2.2
    Using rails-html-sanitizer 1.0.4
    Using actionview 6.0.0.alpha from source at `/Users/user/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/bundler/gems/rails-06274428e534`
    Using rack 2.0.5
    Using rack-test 1.1.0
    Using actionpack 6.0.0.alpha from source at `/Users/user/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/bundler/gems/rails-06274428e534`
    Using nio4r 2.3.1
    Using websocket-extensions 0.1.3
    Using websocket-driver 0.7.0
    Using actioncable 6.0.0.alpha from source at `/Users/user/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/bundler/gems/rails-06274428e534`
    Using globalid 0.4.1
    Using activejob 6.0.0.alpha from source at `/Users/user/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/bundler/gems/rails-06274428e534`
    Using mini_mime 1.0.1
    Using mail 2.7.0
    Using actionmailer 6.0.0.alpha from source at `/Users/user/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/bundler/gems/rails-06274428e534`
    Using activemodel 6.0.0.alpha from source at `/Users/user/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/bundler/gems/rails-06274428e534`
    Using activerecord 6.0.0.alpha from source at `/Users/user/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/bundler/gems/rails-06274428e534`
    Using mimemagic 0.3.2
    Using marcel 0.3.3
    Using activestorage 6.0.0.alpha from source at `/Users/user/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/bundler/gems/rails-06274428e534`
    Using public_suffix 3.0.3
    Using addressable 2.5.2
    Using io-like 0.3.0
    Using archive-zip 0.11.0
    Using bcrypt 3.1.12
    Using bindex 0.5.0
    Using bundler 1.16.2
    Using byebug 10.0.2
    Using xpath 3.1.0
    Using capybara 3.8.1
    Using ffi 1.9.25
    Using childprocess 0.9.0
    Using chromedriver-helper 2.1.0
    Using coffee-script-source 1.12.2
    Using execjs 2.7.0
    Using coffee-script 2.4.1
    Using method_source 0.9.0
    Using thor 0.20.0
    Using railties 6.0.0.alpha from source at `/Users/user/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/bundler/gems/rails-06274428e534`
    Using coffee-rails 4.2.2
    Using orm_adapter 0.5.0
    Using responders 0.6.5
    Using warden 1.2.7
    Using devise 4.5.0
    Using multi_json 1.13.1
    Using jbuilder 2.7.0
    Using rb-fsevent 0.10.3
    Using rb-inotify 0.9.10
    Using ruby_dep 1.5.0
    Using listen 3.1.5
    Using puma 3.12.0
    Using sprockets 3.7.2
    Using sprockets-rails 3.2.1
    Using rails 6.0.0.alpha from source at `/Users/user/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/bundler/gems/rails-06274428e534`
    Using rubyzip 1.2.2
    Using sass-listen 4.0.0
    Using sass 3.6.0
    Using tilt 2.0.8
    Using sass-rails 5.0.7
    Using selenium-webdriver 3.14.0
    Using sqlite3 1.3.13
    Using turbolinks-source 5.2.0
    Using turbolinks 5.2.0
    Using uglifier 4.1.19
    Using web-console 3.7.0 from https://github.com/rails/web-console.git (at master@a46d9ff)
    Bundle complete! 16 Gemfile dependencies, 78 gems now installed.
    Use `bundle info [gemname]` to see where a bundled gem is installed.
    $
    $
    $
    $
    $
    $
    $
    $
    $ bundle exec rails generate devise:install
          create  config/initializers/devise.rb
          create  config/locales/devise.en.yml
    ===============================================================================
    
    Some setup you must do manually if you haven't yet:
    
      1. Ensure you have defined default url options in your environments files. Here
         is an example of default_url_options appropriate for a development environment
         in config/environments/development.rb:
    
           config.action_mailer.default_url_options = { host: 'localhost', port: 3000 }
    
         In production, :host should be set to the actual host of your application.
    
      2. Ensure you have defined root_url to *something* in your config/routes.rb.
         For example:
    
           root to: "home#index"
    
      3. Ensure you have flash messages in app/views/layouts/application.html.erb.
         For example:
    
           <p class="notice"><%= notice %></p>
           <p class="alert"><%= alert %></p>
    
      4. You can copy Devise views (for customization) to your app by running:
    
           rails g devise:views
    
    ===============================================================================
    $
    $
    $
    $
    $
    $ bundle exec rails generate devise User
          invoke  active_record
          create    db/migrate/20180924203813_devise_create_users.rb
          create    app/models/user.rb
          invoke    test_unit
          create      test/models/user_test.rb
          create      test/fixtures/users.yml
          insert    app/models/user.rb
           route  devise_for :users
    $
    $
    $
    $
    $
    $ bundle exec rails server
    => Booting Puma
    => Rails 6.0.0.alpha application starting in development
    => Run `rails server --help` for more startup options
    Puma starting in single mode...
    * Version 3.12.0 (ruby 2.5.1-p57), codename: Llamas in Pajamas
    * Min threads: 5, max threads: 5
    * Environment: development
    * Listening on tcp://0.0.0.0:3000
    Use Ctrl-C to stop
    Started GET "/" for 127.0.0.1 at 2018-09-24 13:38:24 -0700
       (1.4ms)  SELECT sqlite_version(*)
    
    ActiveRecord::PendingMigrationError (
    
    Migrations are pending. To resolve this issue, run:
    
            rails db:migrate RAILS_ENV=development
    
    ):
    ^C- Gracefully stopping, waiting for requests to finish
    === puma shutdown: 2018-09-24 13:38:31 -0700 ===
    - Goodbye!
    Exiting
    $
    $
    $
    $ # ActiveRecord::PendingMigrationError
    $
    $ bundle exec rake db:migrate
    rake aborted!
    StandardError: An error has occurred, this and all later migrations canceled:
    
    Directly inheriting from ActiveRecord::Migration is not supported. Please specify the Rails release the migration was written for:
    
      class DeviseCreateUsers < ActiveRecord::Migration[4.2]
    /private/tmp/db/migrate/20180924203813_devise_create_users.rb:3:in `<top (required)>'
    /Users/user/.rbenv/versions/2.5.1/bin/bundle:23:in `load'
    /Users/user/.rbenv/versions/2.5.1/bin/bundle:23:in `<main>'
    
    Caused by:
    StandardError: Directly inheriting from ActiveRecord::Migration is not supported. Please specify the Rails release the migration was written for:
    
      class DeviseCreateUsers < ActiveRecord::Migration[4.2]
    /private/tmp/db/migrate/20180924203813_devise_create_users.rb:3:in `<top (required)>'
    /Users/user/.rbenv/versions/2.5.1/bin/bundle:23:in `load'
    /Users/user/.rbenv/versions/2.5.1/bin/bundle:23:in `<main>'
    Tasks: TOP => db:migrate
    (See full trace by running task with --trace)
    $
    
    2 回复  |  直到 6 年前
        1
  •  1
  •   Ilya Konyukhov    6 年前

    看来 devise 6.0.0.alpha )

    它所知道的最新Rails是 Rails 5

    https://github.com/plataformatec/devise/blob/5-rc/lib/generators/active_record/devise_generator.rb#L94-L98

    因为你在用 6.0.0.α

    这个 edge Rails https://edgeguides.rubyonrails.org/6_0_release_notes.html

    我建议暂时不要使用这个版本,而是使用最新的稳定版本(至于今天的版本) 5.2.1

    替换

    echo "gem 'rails', git: 'https://github.com/rails/rails.git'" >> Gemfile

    具有

    echo "gem 'rails', '~> 5.2.0'" >> Gemfile

    解决了这个问题。

        2
  •  0
  •   Nezir    6 年前

    rails db:migrate RAILS_ENV=development ?