在同一控制器中导出两个不同的布局模板

Sta*_*erd 2 ruby-on-rails ruby-on-rails-4

我有一个PagesController指定了布局'pages.html.erb'.

  class PagesController < Spree::StoreController
    layout 'pages'
    respond_to :html

    def lifestyle
      render 'lifestyle'
    end

    def co_step_1
      render 'co_step_1'
    end

    def co_step_2
      render 'co_step_2'
    end

  end
Run Code Online (Sandbox Code Playgroud)

是否可以在PagesController中使用另一种使用不同布局的方法?换句话说,我想覆盖layout 'pages.html.erb'另一种方法.

Ale*_*eks 5

其他人的答案有点不同.不需要之前的操作或类似操作,只需使用a layout和方法来区分要使用的布局,例如:

class PagesController < Spree::StoreController

    layout :resolve_layout
    respond_to :html

    def lifestyle
      render 'lifestyle'
    end

    def co_step_1
      render 'co_step_1'
    end

    def co_step_2
      render 'co_step_2'
    end

   private

   def resolve_layout
     action_name == 'pages' ? 'pages' : 'custom_layout'
   end

end
Run Code Online (Sandbox Code Playgroud)

或者您想要使用什么逻辑来决定使用哪种布局.