実現したいこと
carrierwaveで画像をアップロードできません。何がダメなんでしょうか
発生している問題・分からないこと
確認画面も実装したいですがcacheにファイルの情報が入りません config.storage :fog
該当のソースコード
ruby
1 config.storage :fog2 config.fog_provider = 'fog/aws'3 config.fog_directory = "test 4 config.fog_credentials = {5 provider: 'AWS',6 aws_access_key_id: "test,7 aws_secret_access_key: "login 8 region: ENV['AWS_REGION'],9 path_style: true,10 host: 'minio',11 endpoint: 'http://minio:9000'12 }13 14 def change15 add_column :test, :files, :json, default: nil,16 end17 18class TestUploader < CarrierWave::Uploader::Base19 20 storage :fog21 22 def store_dir23 "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"24 end25 26 def cache_dir27 "tmp/cache"28 end29 30end
class Test < ApplicationRecord attr_accessor files_cache mount_uploaders :files, TestUploader end class TestForm. extend CarrierWave::Mount mount_uploaders :files TestUploader end
def create @form = TestForm.init(request_params) end def confirmation @form = TestForm.init(request_params) end def regist @form = TestForm.init(request_params) @form.save! end def request_params params.permit(:name,files_from_client: [], files_from_client_cache: [] ) end
<%= form_with url: regist_path, method: "post", local: true, multipart: true do |f| %> <%= f.text_field :company_name %> <%= f.file_field files , multiple: true, include_hidden: false %> <%= f.hidden_field :files_cache, multiple: true, include_hidden: false %> <button type="submit" %> <% end %>
特になし
試したこと・調べたこと
上記の詳細・結果
いろいろ試したが全部ダメでした
フォームオブジェクト使ってるのがダメなのでしょうか
補足
特になし
0 コメント