尝试使用载波上传图像时,继续“无文件选择”?

我正在尝试使用CarrierWave通过以下railscast实现上传图像: http: //railscasts.com/episodes/253-carrierwave-file-uploads?view = comment,但每当我提交图像时,我的错误消息只是说没有文件选中,当我明确选择文件时。

我已经多次检查过我的代码了,我无法理解它。

这是我的产品/ new.html.erb

new product

{ :multipart => true } do |f| %>

prohibited this post from being saved:




以下是我的产品型号:

 mount_uploader :image, ImageUploader 

我从产品控制器中获取新的,创建和显示的操作:

 def new @product = Product.new(params[:id]) end def create @product = Product.new(product_params) if @product.save redirect_to @product else render :new end end def show @product = Product.find(params[:id]) end 

定义产品控制器中的参数:

 private def product_params params.require(:product).permit(:title, :description, :image, :remote_image_url) end end 

这是我能想到的所有相关信息。 谢谢您的帮助。

编辑:设置multipart后我得到这个错误

语法错误,意外的tIDENTIFIER,期待keyword_end form_for(@product)html => {:multipart => true} do | f | ^ app / views / products / new.html.erb:3:语法错误,意外的keyword_do_block,期待keyword_end

我添加了标签,但我仍然保持不变。 我发布了上面的整个视图文件代码。

尝试使用以下表单,您的表单看起来很乱,很多结束语句

products_controller.rb

  def new @product = Product.new end 

产品/ new.html.erb

 

new product

<%= form_for @product do |f| %> <% if @product.errors.any? %>

<%= pluralize(@product.errors.count, "error") %> prohibited this post from being saved:

    <% @product.errors.full_messages.each do |msg| %>
  • <%= msg %>
  • <% end %>
<% end %>
<%= f.label :title %>
<%= f.text_field :title %>
<%= f.label :description %>
<%= f.text_field :description %>
<%= f.file_field :image %>
<%= f.label :remote_image_url, "or image url" %>
<%= f.text_field :remote_image_url %>
<%= f.submit %>
<% end %>