Разметки направляющих на действие?

Я использую другое расположение для некоторых действий (главным образом для нового действия в большинстве контроллеров).

Я задаюсь вопросом, какой лучший способ указать расположение был бы? (Я использую 3 или больше различных разметки в том же контроллере),

Мне не нравится использовать

рендеринг: расположение => 'имя'

Мне понравилось делать

расположение 'имя': только => [: новый]

Но я не могу использовать это для определения 2 или больше различных разметок.

Например:

Когда я называю расположение 2 раза в том же контроллере с различными именами расположения и отличающийся только опции, первый проигнорирован - те действия не отображаются в расположении, которое я указал.

Примечание: Я использую направляющие 2.

160
задан Andrew Hendrie 4 March 2015 в 10:50
поделиться

1 ответ

Вы можете использовать метод для установки макета.

class MyController < ApplicationController
  layout :resolve_layout

  # ...

  private

  def resolve_layout
    case action_name
    when "new", "create"
      "some_layout"
    when "index"
      "other_layout"
    else
      "application"
    end
  end
end
289
ответ дан 23 November 2019 в 21:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: