在rails上的ruby中下拉列表表单验证警报

时间:2013-02-27 07:42:19

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.1

我有一个下拉列表和一个表单中的两个单选按钮。这是code.i不知道如何在控制器中设置验证。当没有从下拉选择值和一个单选按钮,我必须显示警告信息'请从下拉列表中选择值'并检查一个单选按钮。如果在提交表单时可以在轨道上的红宝石中显示。

<%= form_tag :action => 'show' do %>
    <strong>Select device: </strong> <%= collection_select(:device, :id, @devices, :id, :name, options ={:prompt => "-Select a device"}) %>
    <br></br>
    <strong>Chose: </strong><%=  radio_button_tag :name,:time, false, :onclick => "this.parentNode.submit();"%>Time
    <%=  radio_button_tag :name,:graph%>Graph
    <% end %> 

在device.rb中,我设置了以下内容,但没有显示任何消息。

 class Device < ActiveRecord::Base
   attr_accessible :name
   validates_presence_of :name
   has_many :properties

   def validate
     if name == 'None'
       errors.add_to_base("You must select a device name")
     end
   end
 end

1 个答案:

答案 0 :(得分:-1)

为什么不使用validates_exclusion_of? (或其在Rails 3中的等价物)

http://apidock.com/rails/v2.3.8/ActiveModel/Validations/ClassMethods/validates_exclusion_of