在rails中可以动态加载类布局吗?

ez.*_*ez. 9 ruby ruby-on-rails

我需要消息在项目中有不同的布局,在rails中可以做这样的事情吗?

Class Messages::New < @project? ProjectLayout : NormalLayout
end  #i treid this, don't work, since @project has not been initiated.
Run Code Online (Sandbox Code Playgroud)

谢谢

小智 19

这可能对你有帮助

class MessagesController < ApplicationController
  layout :get_layout

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

end
Run Code Online (Sandbox Code Playgroud)


Hat*_*es_ 0

决定控制器中的布局而不是模型。您的 ProjectsController 可以使用它自己的 ProjectLayout,如果您愿意,MessagesController 也可以使用正常的布局。