問題タブ [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.
ruby-on-rails - fields_for と has_many_through
私はこれらのモデルを持っています:
注文フォームにネストされたフォームがあり、すべての賞品を表示し、その隣にユーザーがピース (注文する金額など) を入力できるテキスト ボックスが表示されます。フォームが送信されると、作成アクションはそれに応じて order_lines を作成する必要があります。どこにも解決策が見つかりません。
ruby - Rails FormBuilderInstance.object プロパティ
私はレンタルシステムに取り組んでいます。orderと check_outcheck_outs
のレンタルの子である というモデルがあります。私の注文と私は入れ子になっています。rbates の nested_form gem を使用しています。order
has_many :check_outs
belongs_to :rental
accepts_nested_attributes_for :check_outs
fields_for :check_outs
私がやろうとしているのは、チェックアウト作成ステップで設定されたレンタルのプロパティ (説明、check_outs の attr_accessor) を取得して、編集ビューのラベルまたはテキスト フィールドに入力することです。
私はそれ自体を使用してcheck_outオブジェクトを取得できることを知っていますが、取得するbuilder.object
こともできますbuilder.object.rental
が、取得しようとすると、builder.object.rental.id
またはbuilder.object.rental.description
nilエラーの不明な属性を取得します。オブジェクト自体が nil ではないため、これは意味がないようです。
何か案は?
ruby-on-rails - has_many リレーションの Rails fields_for パラメータは、params で配列を生成しません
モデル Sensor と、別のモデル Watchhas_many
との関係があります。accepts_nested_attributes_for
センサーを更新するフォームには、次のようなものがあります
これは、センサーに属する作成済みのウォッチを編集できるようにするためのものです。
この呼び出しは、次のようにフォーム入力を吐き出します。
これが送信さparams
れると、Sensor コントローラー内のオブジェクトは assoc のようなものを取得します
has_many
呼び出し時にaccepts_nested_attributes_for
update が機能するためには@sensor.update_attributes
、その属性キーが実際には配列にマップされている必要があるようです。
例で見てきたことから、 、 、およびの組み合わせによりhas_many
、結果のオブジェクトを直接渡して、関連する各オブジェクトを意図したとおりに更新できるはずです。代わりに、センサーはエラーなしで実行されますが、Watch オブジェクトは更新されません (配列ではなくハッシュにマップされるため)。accepts_nested_attributes_for
sensor_form.fields_for
params
@sensor.update_attributes
"watches_attributes"
ruby-on-rails - ジェネリックfields_forを使用するNilオブジェクト
ジェネリックfields_forメソッドを使用してパラメーターを渡そうとしています。私はフォームを持っています:
このフォームでphoto[name]とphoto[description]が生成され、フォームを送信するときに、コントローラーがparams [:photo]が存在するかどうかを確認できるようになることを期待していました...#何かをします。ネストされたフォームを使用しない理由は、これらのフォームフィールドが使用されない場合があるためです。
問題は、fields_for:photo行のエラーが発生することです。それはあなたがそれを予期していなかったときにあなたがnilオブジェクトを持っていると言います!配列のインスタンスを期待していたかもしれません。
この汎用fields_forをnilにせずに実行するにはどうすればよいですか?
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
前述したように、空白に異なる値を入力してフォームから送信しても、出発地と目的地の属性は常に同じになります。
どうすればこれを機能させることができますか?
ruby-on-rails - フォームの 2 つのフィールドをモデルの 1 つのフィールドに結合する方法
日時型の列start
があり、これをテキスト フィールド (日付ピッカーを追加するため) および time_select として表示したいと考えています。さまざまな方法でこれを試しましたが、1 つは fields_for/simple_fields_for を使用することでした。
この 2 つのフィールドをモデルの必要な日時列に変換するにはどうすればよいですか? または、データベースの 1 つのフィールドに一致するフォームに 2 つのフィールドを表示するより良い方法はありますか?
ruby-on-rails - 複数の has_many 関係を持つモデルの fields_for をレンダリングする Rails
components
メイン コンテナ モデルに属するモデルがあります。components
モデルには多くのとservers
がありservices
ます。私のコントローラーではfields_for
、次のコードで
複数のフォームを取得する理由は明らかですhas_many
。1 行で関係を構築する方法はありますか? 私が試してみました:
と
ありがとうございました
更新 ->
コードをブロックに移動するとうまくいくようです(私はちょうど推測していました)
そのコードはコントローラーにあります。
ruby-on-rails - Ruby on Rails fields_編集アクションで生成されるフィールドが多すぎる
私は基本的に 5 ページの販売フォームである非常に野獣なフォームを持っていますが、新しいフォームを作成するときはすべて問題ありません。しかし、新しいフォームを編集しようとすると、フィールドと値が 4 回、場合によっては 7 回複製されます。編集アクションがどのように機能しているのかさえわかりません。新しいアクションが使用するのと同じフォーム部分を使用します。しかし、これが new アクションと edit アクションのコントローラー アクションです。
また、重複はすべてのフィールドで発生するわけではなく、has_many
関係があるセクションでのみ発生するようです。
レールの経験が豊富な人がその動作を知っていることを期待して、編集アクションで追加のフィールドが生成される理由がわかりません。
ありがとう!
編集:
これは、各ルビ ブロックが 4 回レンダリングされるフォームのセクションです。
最終更新:
わかりましたので、1 つの汎用ブロックを使用して DB をループする編集用の別のフォームを作成する必要がありました。これは私がコンポーネントのために持っているものです
ruby-on-rails - Rails - fields_for を使用して new/edit で同じフォームを使用する
私は5つのモデルを持っています、
- 人
- person_car
- 車(タイヤが多い)
- person_car_tire
- タイヤ(車のもの)
だから私はこのビュー _form.html.erb を持っています
そして、保存すると完全に機能しますが、このフォームを使用して編集したいときに問題が発生します。これは、ビューで各車のデータが 4 回複製されるためです。私は探していて、追加のオプションを許可するフィールドを探していたので、次のように作成しました。
動作するようになりましたが、新しいアクションで選択した車とタイヤのみが表示されます。私が望んでいたわけではありません(最初のフォームを使用すると、ビューのチェックボックスが複製されるため)。
両方のアクションに同じフォームを使用するにはどうすればよいですか?
誰かが私を助けてくれることを願っています。
ruby-on-rails - 属性にアクセスしようとすると、railsfields_forオブジェクトがnilになります
3つのモデルがあります:
オファーが編集されるフォームには、offer_itemを編集するためのfields_forがあります
パーシャルのコードチャンク:
エラーをスローします
nil:NilClassの未定義のメソッド `name'
抽出されたソース(行#29周辺):
でも名前を聞かないとこんな感じ
ブラウザに入る:
なぜ「name」属性にアクセスできず、partner_productをnilに変更できないのか疑問に思っているだけではありませんが、実際に表示する必要があります。どんな助けでも大歓迎です!ありがとう