Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails @item.subitem.new的表格_Ruby On Rails - Fatal编程技术网

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确实有多部分/表单数据