2012-01-13 1 views
0

У меня есть form, который является общим для некоторых контроллеров. Иногда я передаю аргумент isbn, иногда нет.обрабатывать отсутствующую локальную переменную в режиме Rails

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

Как проверить, заполнен ли isbn или нет? В качестве альтернативы, как я могу установить isbn равным нулю по умолчанию?

спасибо.

ответ

0

if defined? isbn .... Вы должны взглянуть на этот вопрос, например, использование: Checking if a variable is defined?

В качестве альтернативы вы можете использовать isbn.blank? или isbn.nil?, чтобы проверить, если значение равно нулю или пустой (например, пустая строка), если вы знаете, что переменная присутствует.

2

Попробуйте defined? isbn, чтобы проверить, существует ли переменная.

- if defined? isbn and isbn 
    = "isbn exists and is not nil" 
Смежные вопросы