0

我正在尝试在 Rails 中创建一个下拉框,但出现错误,我希望有人可以解释原因。

这是错误:

undefined method `bot_id' for #<Robot:0x007fa1d663cac0>

机器人类:

class Robot < ActiveRecord::Base
  attr_accessible :color1, :color2, :image, :name, :speed, :weapon_damage, :weapon_slots, :bot_id
  ROBOT_TYPES = Hash.new("Mini Bot" => "1", "Micro Bot" => "2", "Macro Bot" => "3")
  ....
  end

形式:

...
<div class="field">
    <%= f.label :bot_id %><br />
    <%= f.select :bot_id, Robot::ROBOT_TYPES%>
  </div>
...
4

1 回答 1

3

为此,您必须将第二个参数作为特殊的 options_for_select 传递。有一个助手可以为您转换哈希。

你应该阅读:

选择标签

option_for_select

尝试这个:

<%= select_tag :bot_id, options_for_select(ROBOT_TYPES) %>
于 2013-05-12T05:08:51.523 回答