この SO answer未定義メソッド `stringify_keys!' では ruby on railsで、OP は「Honda」文字列を使用して新しい車のオブジェクトを作成しようとしました。
@car = Car.new(params[:car])
キーの文字列化エラーが発生しました。回答者は、オブジェクトを作成するときにテーブルから列 (この場合は「名前」列) を指定する必要があると述べました。
create expects to get an attributes hash and to stringify it's keys for the column names.
If you have a column named name in your cars table then try this:
@car = Car.new(:name => params[:car])
ただし、Rbates が「name」文字列と列「winner」をブール値として含むエントリ テーブルを作成する RailsCast を見ています。彼のコントローラー (json で応答するように設定されています) では、属性ハッシュを使用していません。彼の作成アクション
def create
respond_with Entry.create(params[:entry])
end
Rbates が属性ハッシュを使用する必要がなかったのはなぜですか? また、使用できるとしたら、その属性ハッシュはどのようになりますか? このようなもの?ryans の場合、:name と :winner のように、すべての列に名前を付ける必要がありますか?
def create
respond_with Entry.create(:name => params[:entry][:name], :winner => params[:entry] [:winner]
end