2
class UserSignupController < ApplicationController

  layout "signup", only: [:signup]
  layout "user_sessions", only: [:thanks]

  def signup
  end

  def thanks
  end
end

我有两种不同的布局。我想为注册调用注册布局。它可以正常工作。但是当我给出两个布局时,它会使我的代码崩溃。可以这样给予吗?

4

2 回答 2

2

如果要使用单独的操作,可以在每个操作中指定布局。所以例如

def signup
    render "signup", layout: "signup"
end

def thanks
    render "thanks", layout: "thanks"
end

应该这样做:)

于 2013-06-18T07:48:19.933 回答
0

您可以添加一个方法来设置布局并放在私有下。

class UserSignupController < ApplicationController
  layout :specific_layout

  def signup
  end

  def thanks
  end

  private

  def specific_layout
    case action_name
    when "signup"
      "signup"
    when "thanks"
      "user_sessions"
    else
      "otherlayout"
    end
  end
end
于 2013-06-18T08:02:04.850 回答