私は2つのモデルを持っています、A
そしてB
どこでA
has_many
B
。
モデルにはA
、関連するすべてのB
オブジェクトをループし、各オブジェクトのデータベースフィールドを更新するパブリックメソッドがあります。メソッドをB
入れてループだけを実行したいのA
ですが、正しく保存されていないようです。このアプローチに何か問題がありますか?
メソッドの例を次に示します。
def update_fields # A Method
self.b.each do |b|
b.b_method
end
end
def b_method # B Method
self.field = '5'
self.save
end
このタイプのコードを実行すると、データベースには何も保存されず、出力は更新されません。
どうすればこの種のことを達成できますか?または、フィールドA
を処理している場合でも、すべてのロジックをコントローラーに含める必要がありますか?B