問題タブ [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 に答える
642 参照

ruby-on-rails - Railsのbegins_toと単一テーブルの継承が動作しない

私はBikeモデルとモデルを持っていComponentます。、などからいくつかのモデルが継承されComponentます。FrameChainCrankset

フォームを送信すると、パラメータは次のようになります。

私のコントローラーでは、次のコードが壊れています。

フォームをハックして次のパラメーターを生成すると、機能します。

ここに私のモデルがあります:

単一テーブルの継承が機能しています-問題なく呼び出すことができFrame.firstますComponent.all

私は気が狂っていますか?ネストされたパラメーターは通常の規則ではありませんか? それが次のように生成されます。

私は何を間違っていますか??

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

ruby-on-rails - Nested_attributes_for で remote_function を使用して formbuilder を渡す際に問題が発生する

AJAX を使用して、nested_attributes_for フォームを含むパーシャルを更新する際に問題が発生しています。

私のアプリケーションは、メイン フォームで選択されたイベント タイプに基づいて、フォームの新しいセクションをロードする必要があります。各タイプに関連付けられたフィールドは、データベース テーブルに格納されます。

現時点では、イベント タイプを選択すると、イベント タイプの ID がリモート関数を介してイベント コントローラに渡されます。(以下のコード)

これにより、IDがコントローラーに正常に送信され、イベントタイプIDに関連付けられたすべてのフィールドが検索され、空のdiv(「詳細」のID)が追加フィールドを含むパーシャルに置き換えられます。(以下のコード)

私のパーシャルのコードは次のとおりです。

これを実行しようとすると、エラーが発生します

event_form ビルダーを URL に渡してパラメーターとして処理しようとしましたが、文字列に対して fields_for を呼び出せないと不平を言います。

ビルダー 'event_form' は、親フォームのビルダーです。

この問題を解決するアイデアや解決策はありますか? 前もって感謝します!

誰にも役立つ場合に備えて、私は Ruby 1.8.7 と Rails 2.3.8 を Prototype 1.6.0.3 で使用しています。

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

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

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

ユーザーモデル:

スキルモデル:

コンピテンシーモデル:

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

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

ruby-on-rails - How do I set a filter that will reject existing records when using accepts_nested_attributes_for

I have a Message and Source model related as follows:

When I submit my form (built using form_for and fields_for) it filters out any new sources with blank hrefs. But what I want is for it to delete any existing sources whose hrefs have been set to blank. Is there a simple way to do that?

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

ruby-on-rails - accepts_nested_attributes_forを使用する(つまり、ロールバックを防ぐ)ときに検証の失敗を無視しますか?

したがって、PersonモデルとChildモデルがあるとします。

ネストされたフォームを使用して、2つの新しい子を持つPersonを保存すると、子の1つが検証に失敗すると、トランザクション全体が失敗します(つまり、ロールバックされます)。

この検証の失敗を無視して、有効な1人と1人の子を保存するにはどうすればよいですか?1人の子が検証に失敗したため、トランザクション全体が失敗することは望ましくありません。有効なレコードを保存したいだけです...

感謝します、ありがとう!

PS:reject_ifは、データベースに保存するまで無効なレコードにアクセスできる必要があるため、オプションではない場合に使用します(その時点で、無効なレコードを拒否します)

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

ruby-on-rails - ポリモーフィックに属しているaccepts_nested_attributes_for

とのポリモーフィックな関係を設定したいと思いaccepts_nested_attributes_forます。コードは次のとおりです。

アクセスしようとするとJob.create(..., :client_attributes=>{...}NameError: uninitialized constant Job::Client

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

activerecord - accept_nested_attributes_for を formtastic および paperclip と組み合わせて使用

私は単純な一対多の関連付けをしようとしています。ネストされたフォームを介してアルバムに属する写真を更新しようとしています:

フォト アルバムの編集フォーム:

それは同時に機能し、機能しません。明らかに、タイトルと説明に問題はなく、formtastic はアルバム内のすべての写真にチェックボックスを正しく作成します。しかし、ここですでに最初の質問があります。

1) チェックボックスの横に写真を表示するにはどうすればよいですか? 私はそれを自分で解決することができました:

画像を表示します。

アルバムとアルバム モデルは次のとおりです。

そして写真モデル:

アルバム コントローラ:

スローされたエラー:

行 50 は update_attributes 行に対応します。

助けてくれてありがとう。

ステフ

0 投票する
3 に答える
895 参照

ruby-on-rails - accepts_nested_attributes_forとの関連付けを作成または削除する

私は2つのモデルを持っています、CategoryそしてLineItemTypes

両方ともすでにたくさん存在しているので、それらを関連付ける必要があります。カテゴリごとに多くのLineItemTypesであること。

追加accepts_nested_attributes_for :line_item_typesしましたCategory

hidden_fieldフォームでを使用して、既存の関連付けられたリストを作成してみましたLineItemTypes

そのリストにアイテムを追加すると、そのカテゴリのLineItemTypeが見つからないというエラーが表示されます。accepts_nested_attributes_forは、関連付けが存在しない場合に関連付けを追加すると思いました。または、新しい関係を作成するのではなく、新しいレコードを「作成」して既存の関係を変更するためだけのものですか。

結果のフォームパラメータをトラバースして関連付けを作成するために何かを書く必要のないアイデアはありますか?または、これを達成するためのさらに簡単な方法はありますか?

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

ruby-on-rails - accepts_nested_attributes_forは、新しいレコードを作成するのではなく、既存のレコードにリンクします

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

これで、製品のショップを更新する注文ビューが表示されます。重要なのは、製品をデータベース内の既存のショップに接続するだけで、新しいショップを作成することではないということです。

注文ビューのフォームは次のようになります(Formtasticを使用)。

ネストされていますが、正常に動作します。問題は、ストアを選択して注文(およびそれを使用する製品とストア)を更新しようとすると、Railsがその名前で新しいストアを作成しようとすることです。既存の店舗を利用して、そこに商品をつなげてほしい。

助けていただければ幸いです。

編集1:

結局、私はこの問題を非常に大雑把な方法で解決しました。

編集2:

Pabloのソリューションははるかにエレガントであり、私よりも優先されるべきです。

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

ruby-on-rails - パーシャルのaccepts_nested_attributes_forのAJAXアップデート

私の現在の作業環境はRails2.3.8です(私の会社がRails 3に移行しなかったさまざまな理由)。AJAX呼び出しを介してマルチモデルフォームの要素を更新しようとしています-ユーザーが他のフィールドを選択または入力する方法に応じて、特定のドロップダウンを置き換えるという考えです。

以前は、フォームベースではないパーシャルを使用してこれを機能させることができました。現在の問題は、パーシャルがform_forとfields_forに基づいている場合に、選択ドロップダウンのAJAX更新を再現することです。

次のテキストの壁で申し訳ありません-私はそれを可能な限り削減しようとしました(コード自体は私のテストサイトで機能します)。

Outbreakコントローラーでフォームビルダー要素を生成し、これをカテゴリpartialに渡してincident_formの代わりにするにはどうすればよいですか?

どんなポインタも素晴らしいでしょう:D

モデル

ビュー

_形

_outbreak_type_select

_category_select

update_select_menusを呼び出した後、incident_formを生成する方法

RJS

コントローラー

アウトブレイク