クラスにhas_many:through関係を作成しようとしていますが、関連データの保存と取得を実際に実装する方法について混乱しています。
関連付けの:throughであるRecipeクラス、Ingredientクラス、およびAmountクラスがあります。現在の私のクラスは次のとおりです。
#models/recipe.rb
class Recipe < ActiveRecord::Base
has_many :amounts
has_many :ingredients, :through => :amounts
end
#models/ingredient.rb
class Ingredient < ActiveRecord::Base
has_many :amounts
has_many :recipes, :through => :amounts
end
#models/amounts.rb
class Amounts < ActiveRecord::Base
belongs_to :recipes
belongs_to :ingredients
end
また、レシピを作成するための基本的なフォームの要点へのリンクは次のとおりです:https ://gist.github.com/2820455
そして、作成コード自体の要点: https ://gist.github.com/2820294
フォームを送信すると、次のエラーが発生します。
uninitialized constant Recipe::Amount
そしてこのアプリのトレース:
app/controllers/recipes_controller.rb:57:in 'block in create'
app/controllers/recipes_controller.rb:56:in 'create'
私はRubyonRailsに非常に慣れていないので、この関係を実装し、Amounts値をテーブルに挿入するのは頭がおかしくなります...!