通过整数生成模型记录/字段

时间:2012-05-19 18:37:04

标签: ruby-on-rails nested-forms

我试图实现以下内容,但我很困惑哪种方式继续下去。

在我的申请中。我有一个Box的脚手架,它有模型,控制器和视图以及我有一个苹果模型。

我想要做的是在框中的new.html.erb中询问用户“框中有多少苹果”。这里取的值是一个整数,用户单击一个按钮generate,然后生成该给定数字的apple字段数。 (这必须以相同的形式发生)。毕竟,我想点击提交,通过accepts_nested_form将获取该框的所有细节以及生成的苹果字段。

这是使用Rails的Javascript还是MVC。如果可能,请有人提供示例。

干杯

1 个答案:

答案 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 %>