Rails, передача переменной из контроллера в макет приложения - PullRequest
3 голосов
/ 15 декабря 2010

У меня есть следующее:

В моем контроллере:

  def gettingstarted
    @title = "Getting Started"
        respond_to do |format|
      format.html { render :layout => true, :showLeftNav => false }
    end
  end

В моем файле макета приложения по умолчанию Layouts / application.html.erb :

<% showLeftNav = true if local_assigns[:showLeftNav].nil? %>
<body style="<% if showLeftNav == false %>background:none !important;<% end %>">

Я неправильно передаю showLeftNav из контроллера в макет?

Ответы [ 2 ]

10 голосов
/ 15 декабря 2010

Почему бы не определить это как переменную экземпляра, такую ​​как @title?Таким образом, вы могли бы просто для его присутствия в представлении, а также по умолчанию его значение.

0 голосов
/ 15 декабря 2010

local_assigns будет использоваться в шаблонах (ActionView) для передачи локальных переменных в суб-шаблоны или частичные.Для передачи значений из контроллера для просмотра мы будем использовать переменные экземпляра. На этой странице есть пример, показывающий, как передавать локальные переменные в под-шаблоны, а this показывает некоторые методы Public Instance, в которых можно передавать локальные переменные.

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