如何检查控制器操作变量是否为空

时间:2018-11-14 16:28:03

标签: ruby-on-rails ruby

我尝试过此操作

<% if @post.url == nil %>
<h1>File not found!</h1>
<% end %>

我在后控制器中

def show
  @post = Post.find(params[:id])
end

如何检查@post.url是否为空?

2 个答案:

答案 0 :(得分:2)

我会选择

if @post.url.nil? 

true@post.url时返回nil,而当false为空字符串时返回@post.url

或者,您可以使用

if @post.url.blank?

true@post.url或为空字符串时,在两种情况下均返回nil

答案 1 :(得分:0)

对类似问题的以下答案似乎是您的追求:

if my_string.to_s.empty?
  # It's nil or empty
end

请参阅:Is There a Better Way of Checking Nil or Length == 0 of a String in Ruby?

如果您需要比检查nil或空值更复杂的内容,则可能需要URL验证方法。