Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
586 views
in Technique[技术] by (71.8m points)

parameters - undefined method `stringify_keys!' ruby on rails

I have this code:

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

It's giving me this error:

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

I don't understand what is wrong with :car.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

in the addcar method, you try to create a new object (create method) while transfering just a string to it (params[:car] which apparently is set to "Honda").

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])

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...