Ruby on rails @item.subitem.new的表格
我有这张上传照片的表格Ruby on rails @item.subitem.new的表格,ruby-on-rails,Ruby On Rails,我有这张上传照片的表格 <%= form_for Picture.new do |f| %> <%= f.label :file, "Upload Pictures: " %> <%= f.file_field :file, multiple: true, name: "picture[file]" %> <%= f.submit %> <% end %> 我现在尝试在这个模型和另一个名为Item(Item
<%= form_for Picture.new do |f| %>
<%= f.label :file, "Upload Pictures: " %>
<%= f.file_field :file, multiple: true, name: "picture[file]" %>
<%= f.submit %>
<% end %>
我现在尝试在这个模型和另一个名为Item(Item有很多图片)的模型之间建立一个多连接,并为这两个模型建立一个表单
我想我要做的就是这样:
<%= form_for(@item) do |f| %>
<div class="field">
<%= f.label :title %><br />
<%= f.text_field :title %>
</div>
<div class="field">
<%= f.label :keywords %><br />
<%= f.text_field :keywords %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
# and here goes the same form, just @item.pictures.new instead of Picture.new
<%= form_for(@item.pictures.new) do |f| %>
<%= f.label :file, "Upload Pictures: " %>
<%= f.file_field :file, multiple: true, name: "picture[file]" %>
<%= f.submit %>
<% end %>
#这是同样的表格,只是@item.pictures.new而不是Picture.new
但是当我提交一张图片时,这个表单不会给图片分配项目id。(我确实有很多,属于写得很好的人)
我是否需要手动传递项目id?(不要认为这是个好主意,因为我需要确保他们没有试图将图片上传到一些他们不拥有的项目)以防万一,我通过向图片传递项目id解决了这个问题,如下所示:
<%= form_for Picture.new do |f| %>
<%= f.label :file, "Upload Pictures: " %>
<%= f.hidden_field :item_id, :value => @item.id %>
<%= f.file_field :file, multiple: true, name: "picture[file]" %>
<%= f.submit %>
<% end %>
@item.id%>
并确保在图片模型中,当前用户拥有具有此id的项目。“我需要手动传递项目id吗?”好的,谢谢。不确定这是否是个好主意。您的表单中是否缺少
multipart/form data
属性?看起来Rails3添加了它。我的HTML确实有多部分/表单数据