我正在尝试使用active_storage将图像存储在应用程序的发布部分中。但是,当我尝试通过终端运行rails active_storage:install时,我收到一条消息,指出Rails每次都会中止。
我已经尝试在我的application.rb文件中包含require'active_storage / engine',但是问题仍然存在。
宝石文件
source 'https://rubygems.org'
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
ruby '2.5.1'
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '~> 5.2.3'
# Use Puma as the app server
gem 'puma', '~> 3.11'
# Use SCSS for stylesheets
gem 'sass-rails', '~> 5.0'
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'
# See https://github.com/rails/execjs#readme for more supported runtimes
# gem 'mini_racer', platforms: :ruby
# Use CoffeeScript for .coffee assets and views
gem 'coffee-rails', '~> 4.2'
# Turbolinks makes navigating your web application faster. Read
more:
https://github.com/turbolinks/turbolinks
gem 'turbolinks', '~> 5'
# Build JSON APIs with ease. Read more:
https://github.com/rails/jbuilder
gem 'jbuilder', '~> 2.5'
# Use Redis adapter to run Action Cable in production
# gem 'redis', '~> 4.0'
# Use ActiveModel has_secure_password
# gem 'bcrypt', '~> 3.1.7'
# Use ActiveStorage variant
# gem 'mini_magick', '~> 4.8'
# Use Capistrano for deployment
# gem 'capistrano-rails', group: :development
# Reduces boot times through caching; required in config/boot.rb
gem 'bootsnap', '>= 1.1.0', require: false
gem 'devise'
gem 'pg'
gem 'bootstrap', '~> 4.3.1'
gem 'jquery-rails'
gem 'font-awesome-rails'
group :development, :test do
# Call 'byebug' anywhere in the code to stop execution and get a
debugger console
gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
end
group :development do
# Access an interactive console on exception pages or by calling '
console' anywhere in the code.
gem 'web-console', '>= 3.3.0'
gem 'listen', '>= 3.0.5', '< 3.2'
# Spring speeds up development by keeping your application running
in
the background. Read more: https://github.com/rails/spring
gem 'spring'
gem 'spring-watcher-listen', '~> 2.0.0'
end
group :test do
# Adds support for Capybara system testing and selenium driver
gem 'capybara', '>= 2.15'
gem 'selenium-webdriver'
# Easy installation and use of chromedriver to run system tests
with Chrome
gem 'chromedriver-helper'
end
# Windows does not include zoneinfo files, so bundle the tzinfo-data
gem
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
application.rb
require_relative 'boot'
require 'rails/all'
require 'active_storage/engine'
# Require the gems listed in Gemfile, including any gems
# you've limited to :test, :development, or :production.
Bundler.require(*Rails.groups)
module Instagram
class Application < Rails::Application
# Initialize configuration defaults for originally generated
Rails version.
config.load_defaults 5.2
# Settings in config/environments/* take precedence over those
specified here.
# Application configuration can go into files in config/initializers
# -- all .rb files in that directory are automatically loaded after
loading
# the framework and any gems in your application.
end
end
User.rb
class User < ApplicationRecord
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable, :trackable and
:omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :validatable
has_many :posts, dependable: :destroy
end
Post.rb
class Post < ApplicationRecord
belongs_to :user
end
最后是我的终端输出。
rails active_storage:install --trace
** Invoke active_storage:install (first_time)
** Invoke environment (first_time)
** Execute environment
rails aborted!
ArgumentError: Unknown key: :dependable. Valid keys are:
:class_name, :anonymous_class, :foreign_key, :validate, :autosave,
:table_name, :before_add, :after_add, :before_remove, :after_remove,
:extend, :primary_key, :dependent, :as, :through, :source,
:source_type, :inverse_of, :counter_cache, :join_table,
:foreign_type, :index_errors
我希望输出如下创建数据库迁移表。
db / migrate / 20180924134051_create_active_storage_tables.active_storage.rb
答案 0 :(得分:0)
更改
has_many :posts, dependable: :destroy
到
has_many :posts, dependent: :destroy