問題タブ [nested-form-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 - Rails 4はネストされた属性を更新しません
問題:ネストされた属性を更新する代わりに、関連するアクションを実行すると、既存のネストされた属性の上に作成されます。#update
features_controller.rb
考えられる原因:問題は Rails の理解不足にあると思いますform_for
。内訳は私のビュー、永続的なネストされた属性をレンダリングする方法、および/またはネストされた属性の ID を指定できず、単純に新しいものを作成する方法にあると思います
機能.rb
features_controller.rb
_form.html.haml (簡略化)
if @feature.new_record?
チェックを達成するためのより良い方法があると確信しています。また、 Railscast #196 Nested Model Form (revised)の影響を強く受けて、いくつかの Javascript フックを使用して、動的にネストされたアトリビュート フォームを作成しています (省略しました)。
この種のネストされたフォームを処理するための、本当に素晴らしいRails-yの実装が欲しいです。
ruby-on-rails - ネストされた形式での結合モデルの使用 (has_many :through リレーションシップ)
Show モデルの Form_for があります。form_for 内で fields_for を使用してバンドを追加したいと思います。問題は、フォームを使用してレコードを更新するときに、フィールドをバンドに関連付けたくないということです。バンド名が変わったら、新しいバンドでパフォーマンスを更新したいと思います。
ショーはパフォーマンスを通じてバンドと結合されます
これが私のフォームです。(簡体字)
問題は、これを使用してバンド名を変更すると、バンド名が変更されることです (クレイジーですよね?)。Band レコードを更新したくありません。Band.find_or_create を実行し、パフォーマンス レコードを新しいバンドの ID で更新したいのです。このようにして、ユーザーは名前を削除して別のバンド名を追加することで、ショーのバンドを置き換えることができます。
レンダリングされたhtmlには、バンドIDではなくパフォーマンスIDが含まれている必要があります(私は思う)
何かのようなもの:
これはどのように行われますか?
ruby-on-rails - rails 3でfields_forでnested_simple_foem_forを使用しているときに、フィールドデータをシリアル化してフェッチしない
ビューで「nested_simple_form」を使用しており、その中で「fields_for」を使用しています。また、データをシリアル化するために fields_for の下に fields_for があります。しかし、データのシリアル化に使用する 2 番目の fields_for では、現在データベースから値を取得していません。私もOprnStructを使用しようとしましたが、私もうまくいきません。
モデル
ファイルを表示 (edit.html.erb)
OpenStruct を使用しようとしましたが、税金のデータをフェッチしません。tax は serailize フィールドです。シリアル化フィールド (tax1、tax2、tax3、tax4、tax5) のデータベースに格納された直接データが必要です。
助けてください。
ruby-on-rails - nested_form: 追加されたすべてのフィールドは同じ名前です
いくつかの一般的なフィールドを検証するために ActiveModel オブジェクトを使用する複雑なフォームが 1 つあります。
このフィールドにはnested_formがあります:
部分的:
しかし、「ピボットを追加」をクリックすると、同じ名前で同じ ID でタイムスタンプのない同じフィールドが取得されます。
ruby-on-rails - 複数を使用する場合、Rails ファイル フィールドは名前を変更しません
私のファイルフィールドに複数を使用すると[]
、最後に配列が追加された名前が表示されますが、それを取り除こうとしています。本来の正しい名前がわかりません。[]
ハードコーディングして名前からを削除することになっていますが、名前はまだbusiness_photos[bizurl][]
.
足りないものはありますか?
ruby-on-rails - 関連付けを構築するために link_to_add を使用して、nested_form_for で作成された関連付けで削除されていないアイテムの数をどのように制限しますか?
Rails 4.0.0 を使用しており、追加する関連付けを 3 つに制限したいフォームがあります。これを行う最もクリーンな方法は何ですか?