0
私は多くを検索しました。私はコントローラにメソッドを作成し、このエラーに Carrierwaveを使用してファイルをアップロードするときにnilは記号ではありません
に直面しています は
ですDEF @category = Category.new(のparams [:カテゴリ])を作成する私のフォームは
あるrespond_to do |format|
if @category.save
format.html { redirect_to @category, notice: 'Category was successfully created.' }
format.json { render json: @category, status: :created, location: @category }
else
format.html { render action: "new" }
format.json { render json: @category.errors, status: :unprocessable_entity }
end
end
end
を
<%= form_for @category, :html => { :multipart => true } do |f| %>
<% if @category.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@category.errors.count, "error") %> prohibited this category from being saved:</h2>
<ul>
<% @category.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<%= f.label :name %><br />
<%= f.text_field :name %>
</div>
<div class="field">
<%= f.label :description %><br />
<%= f.text_area :description%>
</div>
<div class="field">
<%= f.file_field :image %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
アップロードするファイルを選択して[送信]ボタンをクリックすると、処理が進まない
私のアップローダが
# encoding: utf-8
require 'carrierwave/processing/rmagick'
class ImageUploader < CarrierWave::Uploader::Base
#Include RMagick or MiniMagick support
include CarrierWave::RMagick
# Choose what kind of storage to use for this uploader:
storage :file
# This is a sensible default for uploaders that are meant to be mounted:
def store_dir
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
end
def scale(width, height)
# do something
end
# Create different versions of your uploaded files:
version :thumb do
process :resize_to_fill => [80, 80]
end
end
CarrierWaveアップローダークラス(image属性をマウントしたクラス)に問題がある可能性があります。アップローダーのコードを貼り付けると役立ちます。 – Cloudinary
返信ありがとうございます、私はアップローダを追加しました、plzは私が間違っている場所を案内します – ALi
あなたのアップローダが正しいようです。私たちは実際に私たちのプロジェクトで試してみましたが、うまくいきました。取得するエラーは、実行するプロセッサが(resize_to_fillではなく)nilであることを意味します。あなたが貼り付けたコードが問題を引き起こしている関連アップローダのものですか? – Cloudinary