我试图实现以下内容,但我很困惑哪种方式继续下去。
在我的申请中。我有一个Box的脚手架,它有模型,控制器和视图以及我有一个苹果模型。
我想要做的是在框中的new.html.erb中询问用户“框中有多少苹果”。这里取的值是一个整数,用户单击一个按钮generate,然后生成该给定数字的apple字段数。 (这必须以相同的形式发生)。毕竟,我想点击提交,通过accepts_nested_form将获取该框的所有细节以及生成的苹果字段。
这是使用Rails的Javascript还是MVC。如果可能,请有人提供示例。
干杯
答案 0 :(得分:0)
假设一个Box有很多苹果
class Box < ActiveRecord::Base
has_many :apples
accepts_nested_attributes_for :apples, :allow_destroy => true
end
您可以通过向新操作发送参数来实现此目的:
http://localhost:3000/box/new?apples=3
然后在你的盒子控制器(def new)中获取 params [:apples] 并在 new 方法(动作)中创建你的苹果。
# inside Box controller
def new
@box = Box.new
i = params[:apples].to_i
i.times { @box.build_apple }
end
在您的视图中,您需要为每个苹果使用和渲染“行”。
<%= f.fields_for :apples do |apple| %>
<p>here are the apples</p>
<% end %>