ユーザーがオプションで画像の URL をアップロードできるアップロード画像ページを設定しようとしています。私はキャリアウェーブを使用しています
<%= form_for @rating, :html => {:multipart => true} do |f| %>
<p>
<%= f.file_field :pic_url %>
</p>
<p>
<%= f.label :remote_pic_url_url, 'or image url' %>
<br/>
<%= f.text_field :remote_pic_url_url %>
</p>
<div class="actions">
<%= f.submit 'Upload Picture', :class => 'btn btn-primary' %>
</div>
モデル:
class Rating < ActiveRecord::Base
attr_accessible :pic_url, :remote_pic_url_url, :rating
mount_uploader :pic_url , ImageUploader
end
画像の URL だけを入力しようとすると、次のエラー メッセージが表示されます。
Pic url You are not allowed to upload "" files, allowed types: jpg, jpeg, gif, png
そのフィールドをオプションにするにはどうすればよいですか。remote_{columnName}_url
私は、carrierwave に追加の URL フィールドを追加するための規則であるという印象を受けました。
コントローラーコード:
# POST /ratings
# POST /ratings.json
def create
@rating = Rating.new(params[:rating])
respond_to do |format|
if @rating.save
format.html { redirect_to @rating, :notice => 'Rating was successfully created.' }
format.json { render :json => @rating, :status => :created, :location => @rating }
else
format.html { render :action => "new" }
format.json { render :json => @rating.errors, :status => :unprocessable_entity }
end
end
end