我在rails中使用了多个模型,但它无法在sinario中正常工作
<%= form_for [@listing] do |f| %>
<%= f.fields_for :photos do |ph| %>
<%= ph.file_field :data %>
<% end %>
<% end %>
验证时,我没有上传图片(图片是可选图片)并提交表格。如果第一个模型有任何错误,那么表单显示错误消息,在表单无法显示第二个表单的输入字段时(&lt;%= ph.file_field:data%&gt;)
答案 0 :(得分:0)
我猜你
render "new"
如果出现错误。渲染新视图时,不会调用相应的控制器操作!所以你的
@listing = Listing.new(params[:listing])
不会有与之相关的照片。做
@listing.build_photo # or @listing.photos.build (for has_many association)
在渲染新内容之前。
答案 1 :(得分:0)
def new
@listing = Listing.new
1.times do
@listing.photos.build
end
respond_to do |format|
format.html # new.html.erb
format.xml { render :xml => @listing }
end
end
它只对开发有帮助。在生产中它没有帮助。在线即使点击新列表,它也不会显示照片字段。