rails 3.0.5 проблема с нулевыми переменными! - PullRequest
0 голосов
/ 03 апреля 2011

В моем частичном названии есть переменная title.Если я сделаю:

<% if title.nil? %>
  # stuff here
<% end %>

Тогда я получу ошибку, что заголовок неизвестной переменной или метода!Что не так?

Ответы [ 2 ]

2 голосов
/ 03 апреля 2011

Если ваша переменная не определена, вы получите эту ошибку.

Переменная в партиале может быть определена путем передачи ее в качестве локальной переменной:

<%= render :partial => 'my_partial', :locals => { :title => 'My Title' } %>

Или путем определения его в частичном:

<% title = nil %>
<% if title.nil? %>
  # Do stuff here.
<% end %>

Вы также можете использовать переменные экземпляра в своей части, например, @title, и их не нужно определять, поскольку они всегда будут по умолчанию равны nil.

Если вы хотите проверить, определена ли ваша переменная, выполните следующие действия:

<% if defined?(title) %>
  # Do stuff here.
<% end %>
2 голосов
/ 03 апреля 2011

Где определена ваша переменная? Если он установлен в контроллере, это должна быть переменная экземпляра, перед которой стоит @, например @title. Если title действительно объявлено в вашей части, у вас не должно быть проблем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...