В направляющих возможно загружать расположение класса динамично?

Да это не лучшее решение, но что мы используем, что-то вроде этого

function ReplaceNull(s)
    if IsNull(s) or s = "" then
        ReplaceNull = " "
    else
        ReplaceNull = s
    end if
end function
9
задан Jon 13 August 2009 в 22:34
поделиться

4 ответа

это может вам помочь

class MessagesController < ApplicationController
  layout :get_layout

  def get_layout
    @project? ? 'ProjectLayout' : 'NormalLayout'
  end

end
19
ответ дан 4 December 2019 в 08:52
поделиться

Вы можете применять макеты только на уровне контроллера:

class MessagesController < ApplicationController
  layout :project
end

В документации по методам макета есть пример того, как создавать условные макеты

2
ответ дан 4 December 2019 в 08:52
поделиться

Кроме того, поскольку вопрос неясен, вы также можете установить макет только для одного действия с опцией рендеринга.

render :action => 'new', :layout => 'layoutname'
2
ответ дан 4 December 2019 в 08:52
поделиться

Определите схему в контроллере, а не модель. Ваш ProjectsController может использовать свой собственный ProjectLayout, а затем MessagesController может использовать обычный макет, если хотите.

0
ответ дан 4 December 2019 в 08:52
поделиться
Другие вопросы по тегам:

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