これは単純な質問です。コンストラクターにパラメーターを渡して、Railsで新しいオブジェクトを作成しようとしていました。ただし、コードを実行すると、
SQLite3::SQLException: no such column: awards.user_id: SELECT "awards".* FROM "awards" WHERE "awards"."user_id" = 1
これは、オブジェクトが適切に構築されていないことを意味します。newの代わりにcreateを使用する必要がありますか?それも機能していません。
def refresh_awards(user)
new_awards = []
if (user.karma < 40 ) #test award
a = Award.new(:name => "Nobody Award", :description => "From Jonathan", :category => "Community", :value => 1337, :level => 0, :handle => "nobody_award")
user.awards.append(a)
new_awards.append(a)
end
new_awards.each do |a|
flash[:notice] = "You received the " + a.name + "!"
end
end