問題タブ [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.
ruby-on-rails-3 - ruby で nested_attributes を使用して値を保存する
コメントのネストされた属性があります。親クラスは post です。
投稿を保存するときに、コメントも保存したいのですが、hidden_field にさまざまな値が必要です。フォーム タグを使用する場合、コントローラーで何もせずにコメントを保存する方法がわかりません。
投稿モデルで :accepts_nested_attributes_for :comment も使用しました。誰かが考え直すことができれば、それは素晴らしいことです.
name、address、および label はコメントのフィールドです。投稿を保存するとき、2 行のコメントを保存する必要があります。最初の text_field、text_field、hidden_field からの 1 行と、2 番目の入力フィールドからの別の行。
ruby-on-rails - Rails 3で複数レベルのネストされたリソースをルーティングする方法は?
routes.rb
Rails 3 でネストされたリソースを次のように指定できることはわかっています。
comments
ただし、 に追加したいと思いposts
ます。ファイルには何を書けばよいroutes.rb
ですか?これは正しい方法ですか?それらをネストし続けることはできますか?
ruby-on-rails - Rails/ネストされた属性/file_fieldは、空の場合、params内に表示されません
私は2つのモデルを持っています。最初のモデル(model_1
)は2番目のモデル()のネストされた属性を受け入れますmodel_2
。2番目のモデルにはフィールド(file
)が1つだけあり、ファイルフィールドとしてフォームで参照されます。
この問題は、ファイルが選択されていない場合に発生します。この場合、たとえばテキストフィールドを除いて、このフィールドはPOSTパラメータにまったく表示されません。最初のモデルでは、ネストされたモデルはまったく作成されるべきではないと考えられます。これは検証などをトリガーできません。model_2と対応するフォームに2番目のフィールドを追加し、テキスト入力を使用している場合、すべてが正常に実行され、当然、検証はファイルフィールドでも正常に機能します。
誰もがこれについて行く方法についての経験がありますか?
そして、より良いいくつかの(簡略化された)コードのために—形式:
モデル1:
およびモデル2:
ruby-on-rails - accept_nested_attributes_for 空白値を無視
私は持っている
「+」を押して新しいお気に入りを作成するための新しいテキストエリアを追加する動的フォームがあります。私がやりたいことは、空白のものを無視することです。ネストされていない属性よりも、更新コントローラーでこれを並べ替えるのが難しいと思います。
私が一時的に持っているのは、空のレコードを削除する after_save コールバックのハックです。これらの空白のオブジェクトを無視する最も簡単な方法は何ですか?
検証とエラーは必要ありません。サイレント削除/無視だけです。
ruby-on-rails - Rails ポリモーフィック代入
を使用して依存ポリモーフィック アソシエーションの作成に成功しましたがaccepts_nested_attributes_for
、既存のポリモーフィックを割り当てたいと考えています。エラーが発生します:
モデル:
意見:
結果の params ハッシュは次のとおりです。
これは私には合理的に見えます。私は何を間違っていますか?
ruby-on-rails-3 - Railsのlabel_tagとcheckbox_tagの問題
チェックボックスを使用できるようにしたいので、通常はチェックボックスにラベルforを追加して、チェックボックスを「狙う」代わりにテキストを選択できるようにします。
問題は、Railsでネストされた属性フォームを使用している場合はどうなるかということです。私は今のところこのコードを持っています:
これに関する問題は、これを生成することです。
私はそれをこのようにしたかったのに対し:
ruby-on-rails - Rails でネストされた属性を保存しようとすると、ActiveRecord::AssociationTypeMismatch が発生する
`has_one 関係とネストされた属性に関する多くのページを読みましたが、これをうまく機能させることができませんでした。どんな助けでも素晴らしいでしょう。
各ユーザーには 1 つのネットワークがあります。両方の属性の情報を 1 つの形式で収集しようとしていますが、例外が引き続き発生しますActiveRecord::AssociationTypeMismatch in UsersController#create
渡されるパラメーターは次のとおりです。
Network
のパラメーターが何らかの形で表示される必要があると推測していますが、そのnetwork_attributes
方法はわかりません。
コントローラ:
意見:
そしてもちろん、モデル:
ありがとうございました
ruby-on-rails - how to get values of child object
I've got some nested objects in rails. User -> has_many :tasks -> has_one :location.
Yesterday, I thought I was having trouble linking the location values to the task, but now I realize that I'm not able to get the values to output in show either.
I can get the output via debug
#xA;outputs
#xA;So I thought if I used
#xA;Rails would give me the address field. but I get an
#xA;any suggestions on what I've got wrong?
---------- update, including models ---------------- My models for tasks & locations are
#xA;ruby-on-rails - 複雑な形式でネストされたリソースを破棄するメソッドが起動しない
Rails 3.0.3 と Paperclip 2.3.8 を実行しています。「Post」と「Image」と呼ぶ 2 つのモデルがあります。Image は、動的に画像を投稿に追加するための Paperclip 画像ファイルを含むオブジェクトです。画像は投稿に属し、投稿には多くの画像があります。
ポストモデル:
画像モデル:
画像を動的に追加および削除したいフォームがあります。画像がアップロードされている新しい画像である場合、file_field を表示したいと思います。それ以外の場合、画像が既に存在する場合は、画像と削除リンクを表示したいと思います。入れ子になったフォームに関する Ryan Bates の Railscasts をフォローしました。動的に画像を追加することはできますが、_destory への呼び出しが実行されません。投稿には「_destroy」=>「1」が含まれていますが、HTTP Post イベントの後、ID 7 の画像がまだ存在しています。以下は、HTTP 投稿からの抜粋です。
フォームは次のようになります。
_image_fields:
Javascript 関数:
ヘルパー関数:
上記のように、画像を追加できます。[画像を追加] リンクをクリックすると、ファイル フィールドがフォームに追加され、複数の画像を正常に追加できます。画像の「削除」リンクをクリックすると、リンクと画像がビューから削除されますが、前述のように、投稿イベントでは削除されません。
よろしくお願いします。時間を割いて解決策を見つけるのを手伝ってくれた人に感謝します。
編集:
- 解決 -
Post Controller で、update メソッドの find に「.includes(:images)」を追加しました。
ruby-on-rails - accepts_nested_attributes_for:reject_ifは、別のメソッドをトリガーします
formtastic_cocoon(formtasticのjqueryバージョン)を使用したマルチレベルのネストされたフォームがあります。
私はある意味でいくつかの検証を行おうとしています
私はaccepts_nested_attributes_forに:ifオプションがあることを望んでいましたが、どうやら:reject_ifしかありません。
accepts_nested_attributes_forの一部として説明するような検証を作成する方法はありますか?
-----------------------Zubinの応答に従って更新---------------------- -----
Zubinは方法で正しい方向に進んでいると思いますが、正しく機能させることができないようです。私が使用している方法は
この関数をトリガーすると、self.task_idはTask.idではなく「0」としてデータベースに配置されます。
私は何か他のものが欠けているのだろうかと思っています。メソッドが実際に呼び出されているかどうかは完全にはわかりません。私は言う必要はありません
ある時点で?
-------------------さらなる編集-----------------------私は私ができることから考えるデータベースの値と同じ名前で名前が付けられている場合にのみメソッドが呼び出されることがわかったため、メソッドを次のように変更しました
残念ながら、これでもデータベースの値は0になります。