2009-11-29 29 views
24

上のルビーは、私はこのコードを持っている:未定義のメソッド `stringify_keys! 'レール

def addcar 
    @car = Car.new(params[:car]) 
    render :action => 'list' 
end 

<% @allcars.each do |cell| %> 
    <p> 
    <%= link_to cell.to_s, :controller => 'car', :action => 'addcar', :car => cell.to_s %> 
    </p> 
<% end %> 

それは私にこのエラーを与えている:

undefined method `stringify_keys!' for "Honda":String

私は:carと間違っているかを理解していません。 addcar方法で

答えて

42

、あなたは(どうやら「ホンダ」に設定されているparams[:car])それまで単なる文字列を転送しながら、新しいオブジェクト(create メソッド)を作成してみてください。

createは、属性ハッシュを取得し、それを のキーの文字列にすることを想定しています。あなたの車という名前の列の名前を持っている場合

表は、この方法を試してください。

@car = Car.new(:name => params[:car]) 
+0

を、残念ながらそれはちょうど私を与える: 未定義のローカル変数や#のための方法 'carName」 Lilz

関連する問題