空の値を選択できるようにするアップロードフォームを作成しようとしています。その結果、別のアップロードプロセスが発生します。 (実際のクラス名は "class"に置き換えられました)2つのオプションを持つレール選択フォーム
私のアップロードフォームは、ユーザーが選択フォームを空白のままにすると、私は実行する最初のアップロードのアクションを自分の作成方法たいと考えている。ここ
<%= form_for @upload, :url => class_uploads_path(@uploader), :method =>
:post, :html =>{ :multipart => true } do |f| %>
<%= render "shared/error_messages", :target => @upload %>
<p>This media relates to...<br/>
<%= select "upload", "class_id", Class.all.collect {|class| [class.name,class.id] }, {
:include_blank => true } %></p>
<p>Title:<br/>
<%= f.text_field :title %></p>
<p>Description:<br/>
<%= f.text_area :description, :rows => 3 %></p>
<p>File to upload:<br/>
<%= f.file_field :data %></p>
<p><%= f.submit 'Upload for review' %></p>
<% end %>
であり、彼らがクラスを選択した場合、私は2番目のアップロードをしたいです走る
def create
upload_params = params[:upload] || params[:image] || params[:video]
@class = Class.find(upload_params[:class_id]) || nil
begin
if upload_params[:data]
file_name = upload_params[:data].original_filename
file_contents = upload_params[:data].read
end
rescue
@upload = Upload.new
flash[:error] = "Could not find upload file data. Please reselect file."
render :action => 'new' and return
end
begin
if @class.nil?
@upload = Upload.factory({ :file => file_contents,
:name => file_name,
:network => @uploader,
:title => upload_params[:title],
:description => upload_params[:description] })
else
@upload = Upload.factory({ :file => file_contents,
:name => file_name,
:class => @class,
:network => @uploader,
:title => upload_params[:title],
:description => upload_params[:description] })
end
@upload.save!
私は、データベースに新しい列を追加しないようにしようとしています、異なるハッキングの数を試してみました。前もって感謝します。
ご質問はありますか? –
ユーザーが選択ボックスを空白のままにして、別のアップロード方法を実行する方法を教えてください。上記のアクションを作成すると、私は試して、もし.. else condition。ユーザーが選択ボックスからオプションを選択しなかった場合は、最初のものを実行します。 –