обработать отсутствующую локальную переменную в представлении Rails - PullRequest
0 голосов
/ 13 января 2012

У меня есть form, который используется несколькими контроллерами. Иногда я передаю аргумент isbn, иногда нет.

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

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

Спасибо.

Ответы [ 2 ]

2 голосов
/ 13 января 2012

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

- if defined? isbn and isbn
  = "isbn exists and is not nil"
0 голосов
/ 13 января 2012

Используйте if defined? isbn .... Вы должны взглянуть на этот вопрос, например, использование: Проверка, если переменная определена?

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

...