問題タブ [nested-forms]

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 に答える
176 参照

ruby-on-rails - Rails の静的ネスト要素

システム内の各ユーザーが評価できる「興味」のリストがあります。管理者はいつでも興味を追加/削除できます。ユーザーが自分のアカウントを編集するときに、システム内のすべての興味のリストと、値が 1..5 のドロップダウンを表示したいと考えています。これをどうやって設定したのか気になる..

accept_nested_attributes を使用しても機能しないようです。これは、field_for を使用すると、保存された各興味のフォームを作成する必要があるためです。私が望むのは、各興味が表示され、保存時に、ユーザーが以前に興味を評価したことがある場合は値を更新し、以前に評価されていない場合は新しいエントリを追加することです。

現在のユーザー:

現在 UserInterest:

現在の興味:

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

ruby-on-rails - ネストされたフォームとupdate_attributes

マルチレベルのネストされた形式でデータを更新するのに問題があります。パーシャルを使用して、作成ビューと更新ビューの両方のすべてのフィールドを含めていますが、作成に問題はありません。更新する場合のみ。

基本的に構造(簡略化)は次のとおりです。

私が言ったように、ユーザー、プロファイル、およびアドレスの作成は正常に機能します。更新しようとするまで、問題は見つかりません。エラーは表示されませんが、実際には正常に更新されたことが示されています。実際には、アドレスフィールドだけでなく、ユーザーフィールドとプロファイルフィールドも適切に更新されます。

スタックトレースからの更新のパラメータは次のとおりです。(繰り返しますが、要約およびフォーマットされています)

私が見つけることができるすべてのドキュメントは1つのネストされたフォームしか示していないので、update_attributesを1レベル以上の深さで適切に使用しているかどうかはわかりません。

何かご意見は?

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

ruby-on-rails - 深くネストされた Rails フォームは、belong_to を使用して機能しませんか?

私は、特に 2 レベルのネスティングでセクションを管理する必要がある厄介なフォームに取り組んでいます。ほとんど機能していますが、障害があり、機能する他の深くネストされたフォームと異なる唯一のことは、has_many ではなく、begs_to 関係があることです。モデルは次のとおりです。

これは、リンク テーブル company_events を介したかなり標準的な多対多の関係です。問題のフォームは、動的な「Add Company」Javascript ボタンを使用してイベントを作成/編集しています。ほとんどすべて Ryan Bates のスクリーンキャストと GitHub リポジトリに基づいています。

メインフォーム:

そして、含まれているフォームは次のとおりです。注意すべき重要な点は、企業 ID が Javascript の更新によって設定されることです。これは長くなるため、ここには含めません。基本的に、ユーザーが名前の入力を開始すると、オートコンプリート リストが表示され、名前をクリックすると、会社名と ID の両方がフォームに設定されます。

既存のレコードを更新すると、すべてが正常に機能します。ただし、新しく作成したレコードでフォームを保存しようとすると、次のようになります。

スタックトレースを使用:

nested_attributes のコードを調べて、デバッガーで実行しました。Company.id があるため、ActiveRecord は既にエントリがあると想定していますが、もちろんエントリが見つかりません。新しい CompanyEvent エントリを作成するために ID を渡す必要があるのは明らかなので、これは非常に奇妙に思えます。だから、私は何かが欠けていると思います。

私が見つけたすべての例は、has_many リレーションシップを使用してネストされているように見えますが、この場合はbelongs_to であり、それが問題の原因であるかどうか疑問に思っています。どんなアイデアでも大歓迎です...

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

ruby-on-rails - 入れ子属性との関連付けを熱心にロードすることは可能ですか?

簡単に言うと、恐ろしい2(n)クエリの問題が発生しました。n =データベース内のスキルの数の場合、私のcharacters#editフォームはページをロードするために2(n)クエリを実行します。スキルごとにPlayerSkill(結合テーブル)を選択し、スキルごとに1回スキルを検索します。

これが状況に関連すると私が信じるいくつかのコードです。本質的に、このプロセスに関係するモデル、ビュー、およびコントローラーは、モデルの検証が少なく、私が気にしないアクションも少なくなります。

コントローラー:

モデル:

問題のあるビュー(HAML):

状況についての私の理解は、(大まかに)単一の追加クエリで関連付けを取得するための積極的な読み込みが存在することです。

2つの領域で積極的な読み込みを適切に適用する必要がありますが、その方法については途方に暮れています。

steb_player_skillsメソッドでは、キャラクターにPlayerSkillオブジェクトがまだないことを前提として、 PlayerSkillオブジェクトを作成する必要があります。 データベース内の各スキルをループするため、ここで積極的に読み込むことでメリットが得られる可能性があります。これが最初の「nクエリ」の出所です。

次に、ビューで、fields_forは、取得したすべてのPlayerSkillをループします。これは、ここで熱心にロードする方法がないため、= ps.object.skill.nameを呼び出してスキルの名前を出力すると、スキルルックアップが実行されます。 、「n-クエリ」の2番目のセットを取り込みます。

私の主な関心事はビューレイヤーにあります。fields_forを使用してネストされたフォームを生成する場合に、関連付けを熱心にロードする方法を説明するドキュメント(Rails APIなど)が見つかりません。

ありとあらゆる回答をありがとう:)〜Robbie

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

jquery - rails3 html5 jqueryは動的にネストされたフォーム、プレゼンターパターンを追加しましたか?

ジョブには多くのタスクがあり、タスクには多くのメモがあります

そのようなフォームはどのように見えるべきですか?パーシャルを使用すると、/ jobs / newからジョブ全体を入力し、/ jobs / 2 / tasks / newから新しいタスクを追加して、そこからメモを追加できます。もちろん、/ jobs/2から新しいメモを追加することもできます。 / tasks / 5 / notes / new?

これはプレゼンターパターンを使用するのに適した場所ですか?はいの場合、どのライブラリを使用する必要がありますか?githubでactive_presenterのrails3ブランチを試しましたが、フォームの部分で問題が発生しました。

誰かがそのようなタスクの良い例を持っていますか?

プレゼンターチュートリアル、ネストされたフォームチュートリアル、控えめなJavaScriptチュートリアルはたくさんありますが、すべてを一緒に説明しているのは1つだけではありません。

誰かがhtml5とrails3の例を使ってチュートリアルを貼り付けたらいいのにと思います

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

ruby-on-rails - ネストされたフォームとネストされていないフォームの再利用、送信ボタンの表示方法

私はレールを学び、レシピアプリを作成しています。

私のアプリでは、レシピにはたくさんの材料が含まれています。

材料フォームをレシピフォーム内にネストしてあり、パーシャルと呼んでいます。

もちろん、フォームはネストされているため、

レシピ/_form.html.erbページにあります。

だから今、私はネストされたフォームの外側の単一の成分を編集しようとしています。まだ具材なので同じ形を使いたいです。だから私は作成しました

何らかの理由で、送信ボタンのみが表示されます。

パーシャルの中に送信ボタンを置くと、レシピフォームに表示されますが、これは正しくありません。

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

ruby-on-rails - 結合モデル内に属性を設定する

私は次のユーザーモデルを持っています:

および次のスキル モデル:

コンピテンス モデルには「タイプ」属性があり、結合モデルです。ネストされたフォーム内で、送信したスキルを保存するときに「type」属性を設定するにはどうすればよいですか? ネストされたフォームは次のとおりです。

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

c# - ASP.net - フォームの統合に関する問題

WorldPay 支払いゲートウェイは、この HTML を使用して顧客を支払いページに誘導することを提案しています。

このフォームを自分のページに配置するにはどうすればよいですか? 問題は、ASP.net フォームでコンテンツ ページのコンテンツをラップするマスター ページがあり、フォームをネストできないことです。

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

ruby-on-rails - accepts_nested_attributes_forおよび新しいレコード

次のモデルでaccepts_nested_attributes_forを使用しています。

ユーザーモデル:

スキルモデル:

コンピテンシーモデル:

スキルテーブルには「名前」属性があります。同じスキル名のレコードがすでに存在する場合、accepts_nested_attributes_forで新しいスキルレコードを作成しないようにするにはどうすればよいですか?

0 投票する
0 に答える
451 参照

ruby-on-rails - accept_nested_attributes および validates_uniqueness_of

中心的な問題:ネストされたフォームからの一括割り当て中に、キーによって属性コレクションをどのようにマージしますか。

詳細:次のモデルを使用しています。

そのため、場所ごとに 1 つのコンテナー タイプしか持たないという制約があります。次のビューは、場所と関連するコンテナーをレンダリングします。

管理者/コンテナ/_index.html.erb

管理者/コンテナ/_form.html.erb

module Admin::ContainersHelper

基本的に、ヘルパーはコレクションに新しいコンテナーを追加しますが、すべての型が既に関連付けられているか、コレクションに新しいコンテナーが既に存在する場合を除きます。このコンテナは、まだ定義されていない最初のコンテナ タイプに事前に初期化されます。これはこれまでのところかなりうまくいっています。コンテナの追加は機能します。コンテナの削除は機能します。

問題は、コレクションに既にあるコンテナタイプを選択して追加すると、それらの数を合計する必要があることです(代わりに、一意の制約に違反します)。完全な魔法を実装/再発明せずに最善の方法が何であるかはわかりませんaccepts_nested_attributes_for-実際には、それを使用してコードと複雑さを増加させるのではなく、削減したかったのです。