在Rails表单中创建下拉框

时间:2013-05-12 04:23:57

标签: ruby-on-rails ruby forms ruby-on-rails-3.2

我正在尝试在导轨中创建一个下拉框,我收到一个错误,我正在跳跃,有人可以解释为什么。

这是错误:

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

1 个答案:

答案 0 :(得分:3)

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

你应该阅读:

select_tag

option_for_select

试试这个:

<%= select_tag :bot_id, options_for_select(ROBOT_TYPES) %>