0

所以我有这些用户生成的页面,其中包含属于每个页面的图像。我想为每个包含 image_id 的图像制作编辑按钮,以便网站知道要修改哪些图像数据。我怎样才能做到这一点,当用户单击图像的编辑按钮时,它会弹出一个已经知道它正在修改数据库中的特定图像及其属性的表单?

表格如下所示:

  <%= form_for @image do |f| %>

  <%= f.label :title %>
  <%= f.text_field :title %>

  <%= f.label :description %>
  <%= f.text_field :description %>

  <%= f.submit %>

但它不知道要修改哪个图像。有没有办法做到这一点,当您单击特定图像的编辑按钮时,会弹出一个表单,允许您编辑该图像的标题和描述?希望这很清楚,感谢您的帮助。

4

2 回答 2

0

由于您正在使用form_for @image,因此您的表单已经知道您将要编辑的确切对象。不需要photo_id在表单中的任何地方明确指定。只需确保您在照片表中有titledescription字段。

编辑:渲染多个图像

<% @photos.each do |photo| %>
<%= form_for photo ... %>
.....Your code ......
<% end %>
<% end %>
于 2013-05-28T18:53:47.280 回答
0

因为@pagehas_many:images你可以生成编辑链接

<% @page.images.each do |image| %>
   <%= link_to 'edit', edit_image_path(image) %>
<% end %>

单击此链接之一会将您定向到类似于/images/:id/editimage.id 的内容:id

您还可以为每个图像创建输入字段:

<%= form_for @page do |f| %>
  <% @page.images.each do |image| %>
    <%= f.fields_for image do |ff| %>
      <%= ff.text_field :name %>
    <% end %>
  <% end %>
<% end %>

请参阅Rails 指南

于 2013-05-28T18:57:49.050 回答