Ruby on rails rubyonrails:form\u上的file\u字段示例

Ruby on rails rubyonrails:form\u上的file\u字段示例,ruby-on-rails,file-upload,Ruby On Rails,File Upload,我在Rails中遇到了文件上传问题。我找到了file\u字段:filehelper,它可以与(@some\u model)的form\u一起使用。但是,我找不到这种情况的任何用法,因为这些标记用于通过体量指定创建/编辑某些模型。恕我直言,不可能将fileupload视为典型字段(请参阅)。在这种情况下,需要对上传的文件进行手动操作。那么,为什么有人想把文件上传作为模型编辑的一部分呢 photo.rb class Photo < ActiveRecord::Base at

我在Rails中遇到了文件上传问题。我找到了
file\u字段:file
helper,它可以与(@some\u model)的
form\u一起使用。但是,我找不到这种情况的任何用法,因为这些标记用于通过体量指定创建/编辑某些模型。恕我直言,不可能将fileupload视为典型字段(请参阅)。在这种情况下,需要对上传的文件进行手动操作。那么,为什么有人想把文件上传作为模型编辑的一部分呢

photo.rb

   class Photo < ActiveRecord::Base
       attr_accessible :name, :filename,
   end

上面的行失败,因为没有:file属性。必须先处理它,然后从
:params
手动删除它。再说一次,这种标签有什么真正的用途吗?

我记得我用它在Rails中上传了一个xml文件

视图:


它正在使用表单标签,但在表单中添加其他信息并不困难。

我会给你举一个例子,说明我是如何使用它的。我认为它对自己的解释足够好,我希望这能有所帮助

 <%= form_for @item do |f|%>
    <%= f.file_field :photo, accept: 'image/png,image/jpeg'%>
 <% end %>


如果您有任何疑问,请告诉我

嘿,如果您知道如何使用form_实现文件上传,同时拥有其他字段和标签,请在此处共享。即使是我也在努力实现这一点。如果不需要使用任何gem,那就太好了。如果您尝试
attr\u accessible:name,:file
,在您看来
,会发生什么?
def create
    @photo = Photo.new(params[:photo])
<%= form_tag({action: :upload}, multipart: true) do %>
   <%= file_field_tag 'xml_file' %>
   <%= submit_tag 'Submit' %>
<% end %>
def upload
    file_data = params[:xml_file]
end
 <%= form_for @item do |f|%>
    <%= f.file_field :photo, accept: 'image/png,image/jpeg'%>
 <% end %>