Rails 4で次のことを行う正しい方法は何ですか? 特定のモデルの文字列とその他のパラメーターを受け取るフォームがあります。たとえば、Foo としましょう。このモデルには別のモデルへの関連付けがあり、
class Foo < ActiveRecord::Base
belongs_to :bar
end
その名前のバーがまだデータベースに存在しないと仮定して、指定された文字列から新しいバーを作成したいと思います。
私の最初のアプローチは、コントローラー レベルでこれを行うことでした。基本的にパラメーターから名前を取得し、そこからオブジェクトを作成し、元のパラメーターを変更して、元の文字列ではなく新しいオブジェクトを含めようとしました。しかし、それはあまり慣用的な Rails ではなく、代わりにモデル レベルでこれを完全に行うべきであることに気付きました。
では、モデル レベルでやりたいことをどのように達成すればよいでしょうか。私は一時的な属性と何らかのbefore_validation
フィルターが必要だと考えていますが、Rails にはあまり詳しくありません。何か案は?