我有这段代码:
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 %>
它给了我这个错误:
未定义的方法`stringify_keys!'为“本田”:字符串
我不明白:car
有什么问题。
答案 0 :(得分:42)
在addcar
方法中,您尝试创建一个新对象(create
只传递一个字符串(params[:car]
,显然设置为“本田”)。
create
期望得到一个属性哈希并将其字符串化为
列名。
如果您的汽车表中有一个名为name的列,请尝试以下操作:
@car = Car.new(:name => params[:car])