実現したいこと
carrierwaveで画像をアップロードできません。何がダメなんでしょうか
発生している問題・分からないこと
確認画面も実装したいですがcacheにファイルの情報が入りません config.storage :fog
該当のソースコード
ruby
1 config.storage :fog 2 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 change 15 add_column :test, :files, :json, default: nil, 16 end 17 18class TestUploader < CarrierWave::Uploader::Base 19 20 storage :fog 21 22 def store_dir 23 "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}" 24 end 25 26 def cache_dir 27 "tmp/cache" 28 end 29 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 %>
特になし
試したこと・調べたこと
- teratailやGoogle等で検索した
- ソースコードを自分なりに変更した
- 知人に聞いた
- その他
上記の詳細・結果
いろいろ試したが全部ダメでした
フォームオブジェクト使ってるのがダメなのでしょうか
補足
特になし
_mounter を使うと解決できました!

回答1件
あなたの回答
tips
プレビュー