处理Rails视图中缺少的局部变量

时间:2012-01-13 17:41:14

标签: ruby-on-rails forms local-variables

我有一个form,在某些控制器之间共享。有时我传入isbn参数,有时不传。

= form_for book do |f|
    - if isbn.present?
      = f.hidden_field :virtual_isbn_id, :value => isbn.id

如何检查isbn是否已填充?或者,如何将isbn默认设置为nil?

谢谢。

2 个答案:

答案 0 :(得分:2)

尝试defined? isbn检查变量是否存在。

- if defined? isbn and isbn
  = "isbn exists and is not nil"

答案 1 :(得分:0)

使用if defined? isbn ...。您应该查看此问题以获取示例用法:Checking if a variable is defined?

或者,如果您知道变量存在,则可以使用isbn.blank?isbn.nil?来检查值是否为空(例如空字符串)。