ruby on rails params是零

时间:2012-07-03 18:53:42

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

我在我看来有以下代码:

<%= form_for :command_selected, :method => "get", :url => {:action => "command_domain_selected"} do |f| %>

   <%= f.submit "Make Deployment" %>
<%= f.radio_button :domain, '1dev-den' %> <%= label :domain, '1dev-den'%><br />
   <%= f.radio_button :domain, '2dev-den' %> <%= label :domain, '2dev-den'%><br />

当我点击submit (make deployment)按钮时,来自parameterssubmit button的{​​{1}}会传递到上面radio button中提到的操作。但是,如果我没有选择任何单选按钮并在提交时cilck,它会抛出(nil对象返回,你可能期望一个数组实例)错误。但是,我想在我的操作中测试参数是否为nil并重定向到其他视图。以下是我的行动代码

form_for

为什么即使我手头检查它也会抛出nil对象错误? 请帮忙

def command_domain_selected
  if(params[:command_selected][:domain].nil?)
    respond_to do |format|
      format.html{redirect_to wrong_selection_path}
    end
  else
    @command_selected = params[:commit]      
    @domain_selected = params[:command_selected][:domain]
  end 
end

1 个答案:

答案 0 :(得分:0)

这是一个猜测,但可能是params[:command_selected]是nil,你没有检查。