問題タブ [nested-attributes]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
364 参照

ruby-on-rails-3 - Railsフォームでネストされた属性の明示的な数を表示する

与えられた 3 つのモデル:

  1. 書類
  2. 資産
  3. 資産カテゴリ

ドキュメントはアセットに対して入れ子になった属性を受け入れ (ドキュメントには多くのアセットがあります)、アセットはアセット カテゴリに属します。

アセット カテゴリごとにアセット属性のフィールドを表示したいと考えています。

私は現在、次のようにこれを達成しています。コントローラ:

ビュー (この例では Formtastic が提供するセマンティック_フィールド_for メソッドを使用していますが、これは fields_for のシン ラッパーにすぎません):

これに対するよりクリーンなアプローチはありますか?私は一時変数 i があまり好きではありません。

0 投票する
2 に答える
388 参照

asp.net - 複数のモデルでasp.netmvcフォームを支援する

私はこれを行う方法を理解するのに少し問題があります。

これが私のシナリオです

彼のためにをUser作成する必要があります。IncomeDeclarationBusiness

しかし、彼のビジネスが行われているそれぞれIncomeDeclarationの多くが含まれています。ActivityIncomeDeclarationsActivity

私のフォームには、新しいIncomeDeclarationフィールドとActivityIncomeDeclarations(明らかにそれに関連するIncomeDeclaration)の​​フィールドを含めたいと思います。

rubyonrailsには「accepts_nested_attributes_for」というメソッドがあることを知っています。tgatはおそらくここで私を助けてくれるでしょう。

助けてください!

0 投票する
4 に答える
5625 参照

ruby-on-rails-3 - Rails: ネストされたオブジェクトのラジオ ボタンの選択

私はこの単純な選択タスクで立ち往生しています。私はこのモデルを持っています:

新しい質問を作成する際に、 だけでなく 3 つのオブジェクトの もネスト形式で指定し、contentどれがQuestion答えかをラジオ ボタンで選択したい。コントローラーのアクションには、次のものがあります。contentAnswercorrectnew

これはフォームコードです:

問題は、このコードが異なる名前の 3 つのラジオ ボタンを生成することです。複数の正解を選択できますが、これは正しい動作ではありません。3 つのラジオ ボタンの名前はquestion[choices_attributes][0][correct]question[choices_attributes][1][correct]およびquestion[choices_attributes][2][correct]です。

問題は、正しい答えを 1 つだけ選択するために、同じ名前のラジオ ボタンを 3 つ作成するにはどうすればよいかということです。この方法でアクションにparams保存するために、正しい配列を作成するにはどうすればよいですか:create

どうもありがとうございました!

0 投票する
2 に答える
3810 参照

ruby-on-rails - RubyonRails-accepts_nested_attributes_forのbefore_save計算

「多くの」請求書アイテムがある請求書モデルがあります。請求書を作成/編集できるフォームがあります。このフォームは、請求書アイテムのネストされた属性を受け入れます。

私の請求書モデルには、計算フィールド(請求書アイテムの「金額」の合計)である「total_amount」フィールドがあります。

請求書の作成時または更新時にこの金額を計算したいのですが。請求書モデルのbefore_saveイベントでこれを実行しようとしています。以下のコードはほぼ機能しますが、保存される合計は常に1ステップ遅れています。つまり、合計$ 20の請求書があり、この請求書を編集して請求書アイテムを合計$ 15に変更し、請求書を保存した場合、合計は変更されません。同じ請求書を開いてからもう一度保存すると、合計が正しく更新されます。

合計を計算する以下の行は、データベースにすでに保存されているラインアイテムにアクセスしており、変更されたばかりで保存されようとしているラインアイテムにはアクセスしていないと想定しています。しかし、それらにアクセスする方法がわかりません。

どんな助けでも大歓迎です。

0 投票する
2 に答える
16361 参照

ruby-on-rails - ネストされたモデルと親の検証

私は2つのモデルを持っています。
- Parent has_many Children ;
- Parent accept_nested_attributes_for Children ;

検証を使用して、すべての親の子の存在を検証するため、子なしで親を保存することはできません。

検証が機能します。_destroy次に、属性を介して子を破棄します。

そのため、ネストされたフォームを介してすべての子を破棄でき、検証に合格します。

実際には、を介して親から子を削除した後、_deleteリロードする前に children メソッドが破棄されたオブジェクトを返すため、検証に合格したために発生します。

バグですか?

質問は何ですか。質問はそれを修復するための最良の解決策です。私のアプローチは、 before_destroy フィルターを追加して、最後のフィルターChildかどうかを確認することです。しかし、それはシステムを複雑にします。

0 投票する
1 に答える
721 参照

ruby-on-rails - Rails での 1 対多のネストされた属性

これは質問ではありませんが、誰かが恩恵を受けることができれば幸いです。

1 対多のネストされた関連付けを作成または変更しようとするときは、配列を渡していることを確認してください。あなたが得ている場合

NoMethodError (未定義のメソッド `[]' for...

1対多のネストされた関連付けを使用している場合、これが問題になる可能性があります。このエラーを検索しても説明が見つからなかったので、他の人の開発をスピードアップするのに役立つかもしれません。

たとえば、私は Person モデルを持っています

新しい人物と関連付けられた person_image を作成するには、次のようにします。

{:image=>person_image} の周りの [] に注目してください。1対多の場合は、これが必要です。したがって、以下は機能せず、未定義のメソッド '[]' エラーが発生します。

また、私の意見では、このように入力に名前を付ける必要があります

[0] がないと機能しません。

私はRailsが初めてです。これが他の初心者に役立つことを願っています。誰かがこれを行うためのより良い説明またはより効率的な方法を持っている場合は、コメントに感謝します.

詳細については、入れ子になった属性の Rails API を参照してください。

0 投票する
1 に答える
426 参照

ruby-on-rails - Rails:特定の名前のネストされた属性を無視しますか?

この機能を Ryan Bates のネストされたモデル フォームのチュートリアルに基づいて作成すると、フォームを送信すると、次のデータ セットが送信されます。

どうすればよいかを理解する必要があるのは、new_questionsセクションを無視することです。追加できることはわかっていますがreject_ifaccepts_nested_attributes_for含まれていてデータが事前に入力されている非表示のフィールドがあるため、空のフィールドに基づいて無視することはできません。

new_questionsでは、私のサンプルデータでどのように無視できますか?

Rails 3.0.3 を実行しています

0 投票する
1 に答える
1689 参照

ruby-on-rails - Rails3データモデリングヘルプ-ネストされた属性が多数あります

私は3つのモデル(受信者、アワード、アナウンサー)を含むプロジェクトに取り組んでおり、アナウンサーが複数の受信者にアワードを発行する場合は、ネストされた属性が必要です。たとえば、アワードフォームには次の3つのことを実行する機能が必要です。

  1. 複数の受信者を追加できます(つまり、「受信者の追加」、「受信者の削除」)-ネストされた属性
  2. 新しいアワードを作成した後、アワードは受信者のプロファイルに投稿されます。
  3. @recipient.awardsおよび@announcer.awardsの将来のポーリングを有効にします

この問題を賢く解決する方法に関しては本当に苦労しています。次のデータ構造は理にかなっていますが、アワードフォームで「accepts_nested_attributes_for:recipients」を実行することはできません。手伝ってくれますか?よろしくお願いします。

クラスRecipient<ActiveRecord:: Base

  • has_many:awards
  • has_many:announcers、:through =>:awards

終わり

クラスアナウンサー<ActiveRecord::Base

  • has_many:awards
  • has_many:recipients、:through =>:awards

終わり

クラス賞<ActiveRecord::Base

  • 所属する:announcer
  • 所属する:受信者

終わり

0 投票する
1 に答える
378 参照

ruby-on-rails - Rails、ネストされた複数の属性をRESTfullyに更新

属性の更新について質問があります。

ユーザーモデルと債務モデルがあります。特定のユーザー(users /:user_id / debts)に属するすべての債務を更新して、サイト上のリンクから支払い済み(ブール属性)としてマークされるようにするには、どうすれば安らかなアプローチをとることができますか?

0 投票する
1 に答える
973 参照

ruby-on-rails - rails accept_nested_attributes_for と validations... Rails 2.3.11

私は2つのモデルを持っています

新しいグループを作成するときに、更新時にのみ機能するアクセス許可に関する一意の制約を取得できないようです。出力例を次に示します。ネストされた属性と一意の制約で検証を機能させるための最良の方法を知っている人はいますか?

サンプル出力

それが予想されます。ただし、同じ permissions_attributes でグループを 2 回作成しても、無効にはなりません。