0
レールを使って作業しているときにいくつかの問題があります。私はアクションレールの検証エラー
def submit_solution
@event = Event.find(params[:id])
@gallary = @event.gallaries.new
end
を持っており、このことから、それは私がファイルをアップロードする場合、私は、ファイルをアップロードしなくても、それを提出する際に
<%= form_for @gallary do |f| %>
<%= render 'shared/error_messages', object: @gallary %>
<div class="field">
<%= f.label :image %><br>
<%= f.file_field :image %>
</div>
<div>
<%= hidden_field_tag(:event_id, @event.id) %>
<%= f.submit 'Upload', class: "btn btn-primary", controller: 'events', action: 'image_upload'%>
</div>
<% end %>
は今、それがスムーズに実行されているが、のビューになります。検証エラーが表示されません。それはなぜこれが起こっている
がparam is missing or the value is empty: gallary
は私GALLARYのparams
def gallary_params
params.require(:gallary).permit(:image, :event_id)
end
私image_uploadアクションが
def image_upload
@event = Event.find(params[:event_id])
@gallary = @event.gallaries.build(gallary_params)
if @gallary.save
flash[:success] = "Image uploaded"
redirect_to controller: 'events', action: 'event_info', id: @event.id
else
flash[:danger] = "error while uploading image"
redirect_to controller: 'events', action: 'submit_solution', id: @event.id
end
end
誰も私を伝えることができているエラーを与えています?
ポストあなたのimage_uploadアクション – bkunzi01
が提出されているあなたのparamsを点検。 ':gallary'は提出されていません。 – jdgray
@jdgrayええ、彼らはそうではありませんが、私はファイルをアップロードした場合、それが提出されています。私はちょうどなぜこの動作を知りたい。それは少なくともat:gallaryであるべきですか? – whishky