如果声明未按预期评估为真

时间:2015-12-12 22:05:11

标签: ruby-on-rails ruby

我正在尝试根据下面的创建方法检查当前“@inquiry”的参数':postcode'是否存在于名为'Post'的模型中。

def create
    @inquiry = Inquiry.new(inquiry_params)
    p = @inquiry.postcode
  if @inquiry.save && Post.exists?(pcode:'#{p}')
    redirect_to '/signup'
  else
    redirect_to '/'
  end
end

如果我用一个文字字符串替换#{p}(希望这是正确的术语),例如我知道存在于'Post'模型中的“SE9”,if语句的计算结果为true,但是当我使用上面的代码时即使我知道@ inquiry.postcode存在也不行。

1 个答案:

答案 0 :(得分:4)

使用双引号"而不是单引号'插入字符串

Ruby 2.2.3的一个例子:

p = "value"
#=> "value" 

'#{p}'
#=> "#{p}" 

"#{p}"
#=> "value"