私は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