0

我有一个模型(假设它是一个用户),它有很多图像。我在控制器中构建了 3 个图像记录,并在视图中为每个图像记录渲染部分。但是如果人们想要添加超过 3 张图片怎么办?我想创建一个“添加另一个图像”链接来构建另一个图像记录并呈现另一个部分。

这在 Rails 2.3 中非常简单,使用 add_object_link,但我无法使用 Rails 3 解决。我只能找到创建注释并从 create.js.erb 呈现它们的示例,这并不是我真正的样子寻找。

# users_controller.rb
def new
  @user = User.new
  3.times { @user.images.build }
end

# new.html.erb:
<%= f.fields_for :images do |builder| %>
  <%= render 'image_form', :f => builder %>
<% end %>

有没有一种优雅的方法来创建一个构建对象并呈现部分的链接?

4

1 回答 1

3

看看Ryan Bates 编写的nested_form gem 。借助 javascript 的强大功能,它完全可以满足您的需求。

于 2011-06-13T16:38:02.153 回答