2011-05-22 242 views
1

我已经没有太大的运气这个搜索...我的代码红宝石

url = params[:url]; 
if url == "" 
    @myString = "No URL specified, cannot continue" 
else 
=begin 
    DO SOME STUFFS.... 
=end 
end 

但做一些东西还是会被调用。我有我的索引页面,我对_GET变量执行操作。我想加载没有URL参数的索引页面。我如何检查它们是否设置 - 如果它们不是,则显示一条消息。如果是,处理请求...

谢谢!

回答

0
url = params[:url] 
if url 
    # do stuff 
else 
    @my_string = "No URL specified, cannot continue" 
end 

params[:url]nil如果没有提供。 nil在条件中评估为false。

+1

如果url为空,它将不起作用。你应该在这里使用'if url.blank?'。 – fl00r 2011-05-22 18:22:21

+0

使用'if url = params [:url]'会删除顶部的尴尬线 – jacobsimeon 2012-01-10 21:56:30

1

试试这个:

url = params[:url]; 
if params[:url].nil? 
    @myString = "No URL specified, cannot continue" 
else 
    DO SOME STUFFS.... 
end 

params[:url]为空,这是等于nil,不""

+0

当params为空时,它等于零不是“” – 2011-05-22 17:18:12

1

使用if url.blank?
空白?检查nil和空字符串,如果你没有传递url,那么访问params [:url]会返回nil。这就是你的病情失败的原因。