DNB*_*ims 2 ruby upload file-upload ruby-on-rails
我在我的网络应用程序中使用了纸夹,我使用它来制作新产品:
<% semantic_form_for @product do |f| %>
<% f.inputs do %>
<%= f.input :title %>
<%= f.input :price %>
<%= f.file_field :photo %>
<%= f.input :category , :include_blank => false %>
<% end %>
<%= f.buttons %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
这个展示产品:
<% semantic_form_for @product do |f| %>
<%= image_tag @product.photo.url%>
<% f.inputs do %>
<%= f.input :title %>
<%= f.input :price %>
<%= f.file_field :photo %>
<%= f.input :category , :include_blank => false %>
<% end %>
<%= f.buttons %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
而他的是我的产品.rb:
class Product < ActiveRecord::Base
validates_presence_of :title, :price
validates_numericality_of :price
validates_uniqueness_of :title
has_attached_file :photo
attr_accessible :name, :category_id, :price, :title, :photo
belongs_to :category
has_many :order_items
end
Run Code Online (Sandbox Code Playgroud)
但是在我上传照片后,它会显示我的图像路径:
它似乎无法上传带有此错误的照片:
Run Code Online (Sandbox Code Playgroud)No route matches "/photos/original/missing.png" with{:方法=>:得到}
我不确定是什么semantic_form_for,但经常form_for,你必须明确说它是一个多部分形式.
<% form_for(@thing, :html => {:multipart => true}) do |f| %>
....
Run Code Online (Sandbox Code Playgroud)
如果不这样做,文件上载字段的内容将不会传输到服务器.这是一个HTML的东西 ;)
| 归档时间: |
|
| 查看次数: |
2441 次 |
| 最近记录: |