Версии Gem & Ruby
ruby '2.5.3', 'rails', '~> 5.2.1', 'carrierwave', '~> 1.2', '> = 1.2.3'
Когда я загружаю изображения в локальной среде разработки, я не получаю ошибок и не загружаю изображения, но мое же приложение в производственной среде загружает изображения, как и должно. Я дважды проверил свои настройки и не вижу ничего неуместного, и тот факт, что он работает на производстве, меня смущает.
image_uploader.rb
class ImageUploader < CarrierWave::Uploader::Base
include CarrierWave::MiniMagick
storage :file
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
def default_url(*args)
"/images/fallback/" + [version_name, "default.png"].compact.join('_')
end
version :thumb do
process resize_to_fill: [500, 350]
end
def extension_whitelist
%w(jpg jpeg gif png pdf)
end
end
team.rb
class Team < ApplicationRecord
...
mount_uploader :image, ImageUploader
...
end
teams_controller.rb
class TeamsController < ApplicationController
...
def team_params
params.require(:team).permit(:name, :title, :phone, :email, :bio, :image, :slug)
end
end
Команда / _form.html.erb
<%= form_with(model: team, local: true) do |form| %>
...
<div class="form-group clearfix">
<div class="col-md-12">
<%= form.file_field :image %>
<div style="max-width: 300px">
<% if @team.image_url %>
<h5>Current Image</h5>
<%= link_to @team do %>
<figure>
<%= image_tag @team.image_url %>
</figure>
<% end %>
<% end %>
</div>
</div>
</div>
...
<% end %>