undefined方法`stringify_keys!' 铁轨上的红宝石

Lil*_*ilz 24 parameters 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 %>
Run Code Online (Sandbox Code Playgroud)

它给了我这个错误:

undefined方法`stringify_keys!' 为"本田":字符串

我不明白有什么问题:car.

enn*_*ler 42

在该addcar方法中,您尝试创建一个新对象(create 方法),同时只传递一个字符串(params[:car]显然设置为"本田").

create 期望得到一个属性哈希并将其字符串化为列名.

如果您的汽车表中有一个名为name的列,请尝试以下操作:

@car = Car.new(:name => params[:car])
Run Code Online (Sandbox Code Playgroud)