0

そのため、各ページに属する画像を含むこれらのユーザー生成ページがあります。image_id を含むこれらの各画像の編集ボタンを作成して、Web サイトがどの画像データを変更するかを認識できるようにしたいと考えています。ユーザーが画像の編集ボタンをクリックすると、データベース内の特定の画像とその属性を変更していることを既に認識しているフォームがポップアップ表示されるようにするにはどうすればよいですか?

フォームは次のようになります。

  <%= 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フォームのどこかにa を明示的に指定する必要はありません。titlephotos テーブルにとdescriptionフィールドがあることを確認してください。

編集:複数の画像のレンダリング

<% @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/editこのリンクのいずれかをクリックすると、image.id in :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 に答える