出于某种原因,我无法在Carrierwave中传递过程。我做了一个表格,每次上传图片时,表格都没有通过。但是,如果我发表评论process
,表单就会通过。版本拇指也是如此。我不知道如何解决它。
ImageUploader
class ImageUploader < CarrierWave::Uploader::Base
include CarrierWave::MiniMagick
storage :file
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
# process resize_to_fit: [200, 200]
version :thumb do
process resize_to_fit: [200, 200]
end
def extension_whitelist
%w(jpg jpeg gif png)
end
end
形式:
<% provide(:title, 'Add new course ') %>
<% provide(:button_text, 'Create courses') %>
<h1>New Course</h1>
<div class="row">
<div class="col-md-6 col-md-offset-3">
<%= form_for(@course, html: {multipart:true}) do |f| %>
<%= render 'shared/error_course', object: @course %>
<%= f.label :name %>
<%= f.text_field :name, class: 'form-control', :required => true %>
<%= f.label "Prerequisite" %>
<%= f.text_field :prereq, class: 'form-control' %>
<%= f.label "Description" %>
<%= f.text_area :description, class: 'form-control', :required => true %>
<%= f.label "Coordinator" %>
<%= f.text_field :coord, :value => @user, readonly: true, class: 'form-control' %>
<div class="field">
<%= f.label "Location: "%>
<% Location.all.each do |location|%>
<%= check_box_tag "course[location_ids][]", location.id, false%>
<%= location.loc_name %>
<% end %>
</div>
<div class="field">
<%= f.label "Category: " %>
<% Category.all.each do |category| %>
<%= check_box_tag "course[category_ids][]", category.id%>
<%= category.cat_name %>
<% end %>
</div>
<div class="field">
<%= f.file_field :image %>
</div>
<%= f.submit yield(:button_text), class: "btn btn-primary" %>
<% end %>
</div>
</div>
型号:
class Course < ApplicationRecord
....
mount_uploader :image, ImageUploader
end
基本上,如果我发表评论process
行动,表格会通过,但如果我不这样做,那么它就没有了。不知道原因。