0

私は以下を実装しようとしていましたが、どちらの方法で進めるか混乱しています。

私のアプリケーションでは。モデル、コントローラー、ビューを備えた Box の足場と、リンゴのモデルがあります。

私がやりたいことは、ボックスの new.html.erb で「ボックスにリンゴがいくつあるか」をユーザーに尋ねることです。ここで取得される値は整数であり、ユーザーが生成ボタンをクリックすると、指定された数のリンゴ フィールドの数が生成されます。(これは同じ形式で発生する必要があります)。結局のところ、[送信] をクリックすると、accepts_nested_form を介してボックスのすべての詳細と生成されたリンゴ フィールドが取り込まれます。

これは Javascript または Rails の MVC の使用ですか。可能であれば、誰かが例を提供してください。

乾杯

4

1 に答える 1

0

ボックスに多くのリンゴがあると仮定する

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]を取得し、新しいメソッド (アクション)でリンゴを作成します。

# 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 %> 
于 2012-05-19T19:24:47.253 に答える