2009-11-29 4 views
24

J'ai ce code:méthode non définie `stringify_keys! ' Ruby on Rails

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 %> 

Il me donne cette erreur:

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

Je ne comprends pas ce qui ne va pas avec :car.

Répondre

42

dans la méthode addcar, vous essayez de créer un nouvel objet (create méthode ) pendant le transfert juste une chaîne à elle (params[:car] qui est apparemment réglé sur « Honda »).

create s'attend à obtenir un hachage d'attributs et de le codifier en tant que clés pour les noms de colonnes.

Si vous avez une colonne de nom du nom de votre table voitures essayez ceci:

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

malheureusement que me donne: variable locale définie ou méthode 'RARnom » pour # Lilz

Questions connexes