Ruby on rails Ruby on Rails Ckeditor在部署时丢失回形针图像资源
我有一个RubyonRails网站,在那里我使用了Ckeditor gem。 我用回形针进行了设置,这样我也可以在编辑器中上传图像。 这项工作没有任何问题 问题是当我使用CKeditor部署cloud66服务器时。 这样,通过ckeditor上传的所有图像都会被删除。 (链接仍然相同,只是图像消失了) 如何解决这个问题 代码: 模型>ckeditor>assets.rbRuby on rails Ruby on Rails Ckeditor在部署时丢失回形针图像资源,ruby-on-rails,ruby-on-rails-4,ckeditor,paperclip,assets,Ruby On Rails,Ruby On Rails 4,Ckeditor,Paperclip,Assets,我有一个RubyonRails网站,在那里我使用了Ckeditor gem。 我用回形针进行了设置,这样我也可以在编辑器中上传图像。 这项工作没有任何问题 问题是当我使用CKeditor部署cloud66服务器时。 这样,通过ckeditor上传的所有图像都会被删除。 (链接仍然相同,只是图像消失了) 如何解决这个问题 代码: 模型>ckeditor>assets.rb module Ckeditor class Asset < ActiveRecord::Base incl
module Ckeditor
class Asset < ActiveRecord::Base
include Ckeditor::Orm::ActiveRecord::AssetBase
include Ckeditor::Backend::Paperclip
end
end
Rails.application.config.assets.version = "1.0"
# Add additional assets to the asset load path
# Rails.application.config.assets.paths << Emoji.images_path
# Precompile additional assets.
# application.js, application.css, and all non-JS/CSS in app/assets folder are already added.
# Rails.application.config.assets.precompile += %w( search.js )
Rails.application.config.assets.precompile += %w( club.css admin.css )
Rails.application.config.assets.precompile += %w( club.js admin.js )
Rails.application.config.assets.precompile += Ckeditor.assets
Rails.application.config.assets.precompile += %w(ckeditor/*)
config>deploy.rb
# if you want to clean up old releases on each deploy uncomment this:
set :shared_children, shared_children + %w{public/ckeditor_assets}
after "deploy:restart", "deploy:cleanup"
namespace :deploy do
task :start, :roles => :app do
run "touch #{current_path}/tmp/restart.txt"
end
task :stop, :roles => :app do
# Do nothing.
end
desc "Restart Application"
task :restart, :roles => :app do
run "touch #{current_path}/tmp/restart.txt"
end
after 'deploy:update_code' do
#run "cd #{release_path}; RAILS_ENV=production rake db:create"
run "cd #{release_path}; RAILS_ENV=production rake db:migrate"
run "cd #{release_path}; RAILS_ENV=production rake db:seed"
run "cd #{release_path}; RAILS_ENV=production rake assets:precompile"
run "ln -s #{shared_path}/public/ckeditor_assets #{release_path}/public/ckeditor_assets"
end
desc "Update the crontab file"
task :update_crontab, :roles => :db do
run "cd #{release_path} && whenever --update-crontab #{application}"
run "cd #{release_path}; tail -f log/cron_log.log"
end
我进入了routes.rb mount Ckeditor::Engine=>“/Ckeditor”解决方案:
移除
url: "/ckeditor_assets/pictures/:id/:style_:basename.:extension",
path: ":rails_root/public/ckeditor_assets/pictures/:id/:style_:basename.:extension",
在图片模型中,这会将上载文件更改为公用文件夹中的系统文件夹,并防止其编译错误
Ckeditor.setup do |config|
require "ckeditor/orm/active_record"
end
# if you want to clean up old releases on each deploy uncomment this:
set :shared_children, shared_children + %w{public/ckeditor_assets}
after "deploy:restart", "deploy:cleanup"
namespace :deploy do
task :start, :roles => :app do
run "touch #{current_path}/tmp/restart.txt"
end
task :stop, :roles => :app do
# Do nothing.
end
desc "Restart Application"
task :restart, :roles => :app do
run "touch #{current_path}/tmp/restart.txt"
end
after 'deploy:update_code' do
#run "cd #{release_path}; RAILS_ENV=production rake db:create"
run "cd #{release_path}; RAILS_ENV=production rake db:migrate"
run "cd #{release_path}; RAILS_ENV=production rake db:seed"
run "cd #{release_path}; RAILS_ENV=production rake assets:precompile"
run "ln -s #{shared_path}/public/ckeditor_assets #{release_path}/public/ckeditor_assets"
end
desc "Update the crontab file"
task :update_crontab, :roles => :db do
run "cd #{release_path} && whenever --update-crontab #{application}"
run "cd #{release_path}; tail -f log/cron_log.log"
end
url: "/ckeditor_assets/pictures/:id/:style_:basename.:extension",
path: ":rails_root/public/ckeditor_assets/pictures/:id/:style_:basename.:extension",