問題タブ [fields-for]

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

ruby-on-rails - fields_for と has_many_through

私はこれらのモデルを持っています:

注文フォームにネストされたフォームがあり、すべての賞品を表示し、その隣にユーザーがピース (注文する金額など) を入力できるテキスト ボックスが表示されます。フォームが送信されると、作成アクションはそれに応じて order_lines を作成する必要があります。どこにも解決策が見つかりません。

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

ruby - Rails FormBuilderInstance.object プロパティ

私はレンタルシステムに取り組んでいます。orderと check_outcheck_outsのレンタルの子である というモデルがあります。私の注文と私は入れ子になっています。rbates の nested_form gem を使用しています。orderhas_many :check_outsbelongs_to :rentalaccepts_nested_attributes_for :check_outsfields_for :check_outs

私がやろうとしているのは、チェックアウト作成ステップで設定されたレンタルのプロパティ (説明、check_outs の attr_accessor) を取得して、編集ビューのラベルまたはテキスト フィールドに入力することです。

私はそれ自体を使用してcheck_outオブジェクトを取得できることを知っていますが、取得するbuilder.objectこともできますbuilder.object.rentalが、取得しようとすると、builder.object.rental.idまたはbuilder.object.rental.descriptionnilエラーの不明な属性を取得します。オブジェクト自体が nil ではないため、これは意味がないようです。

何か案は?

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

ruby-on-rails - has_many リレーションの Rails fields_for パラメータは、params で配列を生成しません

モデル Sensor と、別のモデル Watchhas_manyとの関係があります。accepts_nested_attributes_forセンサーを更新するフォームには、次のようなものがあります

これは、センサーに属する作成済みのウォッチを編集できるようにするためのものです。

この呼び出しは、次のようにフォーム入力を吐き出します。

これが送信さparamsれると、Sensor コントローラー内のオブジェクトは assoc のようなものを取得します

has_many呼び出し時にaccepts_nested_attributes_forupdate が機能するためには@sensor.update_attributes、その属性キーが実際には配列にマップされている必要があるようです。

例で見てきたことから、 、 、およびの組み合わせによりhas_many、結果のオブジェクトを直接渡して、関連する各オブジェクトを意図したとおりに更新できるはずです。代わりに、センサーはエラーなしで実行されますが、Watch オブジェクトは更新されません (配列ではなくハッシュにマップされるため)。accepts_nested_attributes_forsensor_form.fields_forparams@sensor.update_attributes"watches_attributes"

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

ruby-on-rails - ジェネリックfields_forを使用するNilオブジェクト

ジェネリックfields_forメソッドを使用してパラメーターを渡そうとしています。私はフォームを持っています:

このフォームでphoto[name]とphoto[description]が生成され、フォームを送信するときに、コントローラーがparams [:photo]が存在するかどうかを確認できるようになることを期待していました...#何かをします。ネストされたフォームを使用しない理由は、これらのフォームフィールドが使用されない場合があるためです。

問題は、fields_for:photo行のエラーが発生することです。それはあなたがそれを予期していなかったときにあなたがnilオブジェクトを持っていると言います!配列のインスタンスを期待していたかもしれません。

この汎用fields_forをnilにせずに実行するにはどうすればよいですか?

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

ruby-on-rails - has_one と :class_name、および belongs_to リレーションが Rails 3.2.3 で属性を正しく設定しない

has_one (:class_name オプションを使用) と belongs_to リレーションを使用して、2 つの子オブジェクトに値を設定するフォームを作成しようとしています。しかし、フォームから値を入力して送信すると、異なる値を入力しても、両方の子オブジェクトが同じ値になります。

私はこの2つのモデルを持っています。(上記の 2 つの子オブジェクトは、クラス名が「Place」である「origin」と「destination」を示します)

そして、以下のようにパーシャルを使ってフォームを作りました。

ルート/_form.html.erb

場所/nested_places_form.html.erb

前述したように、空白に異なる値を入力してフォームから送信しても、出発地と目的地の属性は常に同じになります。

どうすればこれを機能させることができますか?

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

ruby-on-rails - フォームの 2 つのフィールドをモデルの 1 つのフィールドに結合する方法

日時型の列startがあり、これをテキスト フィールド (日付ピッカーを追加するため) および time_select として表示したいと考えています。さまざまな方法でこれを試しましたが、1 つは fields_for/simple_fields_for を使用することでした。

この 2 つのフィールドをモデルの必要な日時列に変換するにはどうすればよいですか? または、データベースの 1 つのフィールドに一致するフォームに 2 つのフィールドを表示するより良い方法はありますか?

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

ruby-on-rails - 複数の has_many 関係を持つモデルの fields_for をレンダリングする Rails

componentsメイン コンテナ モデルに属するモデルがあります。componentsモデルには多くのとserversがありservicesます。私のコントローラーではfields_for、次のコードで

複数のフォームを取得する理由は明らかですhas_many。1 行で関係を構築する方法はありますか? 私が試してみました:

ありがとうございました

更新 ->

コードをブロックに移動するとうまくいくようです(私はちょうど推測していました)

そのコードはコントローラーにあります。

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

ruby-on-rails - Ruby on Rails fields_編集アクションで生成されるフィールドが多すぎる

私は基本的に 5 ページの販売フォームである非常に野獣なフォームを持っていますが、新しいフォームを作成するときはすべて問題ありません。しかし、新しいフォームを編集しようとすると、フィールドと値が 4 回、場合によっては 7 回複製されます。編集アクションがどのように機能しているのかさえわかりません。新しいアクションが使用するのと同じフォーム部分を使用します。しかし、これが new アクションと edit アクションのコントローラー アクションです。

また、重複はすべてのフィールドで発生するわけではなく、has_many関係があるセクションでのみ発生するようです。

レールの経験が豊富な人がその動作を知っていることを期待して、編集アクションで追加のフィールドが生成される理由がわかりません。

ありがとう!

編集:

これは、各ルビ ブロックが 4 回レンダリングされるフォームのセクションです。

最終更新:

わかりましたので、1 つの汎用ブロックを使用して DB をループする編集用の別のフォームを作成する必要がありました。これは私がコンポーネントのために持っているものです

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

ruby-on-rails - Rails - fields_for を使用して new/edit で同じフォームを使用する

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

  1. person_car
  2. 車(タイヤが多い)
  3. person_car_tire
  4. タイヤ(車のもの)

だから私はこのビュー _form.html.erb を持っています

そして、保存すると完全に機能しますが、このフォームを使用して編集したいときに問題が発生します。これは、ビューで各車のデータが 4 回複製されるためです。私は探していて、追加のオプションを許可するフィールドを探していたので、次のように作成しました。

動作するようになりましたが、新しいアクションで選択した車とタイヤのみが表示されます。私が望んでいたわけではありません(最初のフォームを使用すると、ビューのチェックボックスが複製されるため)。

両方のアクションに同じフォームを使用するにはどうすればよいですか?

誰かが私を助けてくれることを願っています。

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

ruby-on-rails - 属性にアクセスしようとすると、railsfields_forオブジェクトがnilになります

3つのモデルがあります:

オファーが編集されるフォームには、offer_itemを編集するためのfields_forがあります

パーシャルのコードチャンク:

エラーをスローします

nil:NilClassの未定義のメソッド `name'

抽出されたソース(行#29周辺):

でも名前を聞かないとこんな感じ

ブラウザに入る:

なぜ「name」属性にアクセスできず、partner_productをnilに変更できないのか疑問に思っているだけではありませんが、実際に表示する必要があります。どんな助けでも大歓迎です!ありがとう