ruby Rails 4无法呈现我的布局

2hh7jdfx  于 12个月前  发布在  Ruby
关注(0)|答案(1)|浏览(94)

我目前对Rails 4中的布局感到震惊,到目前为止,我为我的控制器创建了一个布局,并且使用layout "layout_name"成功地在我的控制器中调用了它。
但问题是,每当我redirect_to那个控制器时,它只呈现页面本身,而不是页面顶部的布局。
下面是我的代码截图:

class LoginController < ApplicationController
  layout "login_layout"
  def index
    user = User.new
  end

  def login_user
    validate_credential = User.login(params[:user])
    if validate_credential[0] == true
      session[:user_firstname] = validate_credential[1][0]["firstname"].capitalize
      session[:user_lastname] = validate_credential[1][0]["lastname"].capitalize
      session[:user_id] = validate_credential[1][0]["id"]
      session[:advisory_class] = validate_credential[1][0]["advisory_class"].capitalize
      redirect_to :controller=> 'dashboard', :action=> 'home'
    else
      redirect_to :action=>'index'
    end
  end

不使用我的login_user函数中的redirect_to来呈现布局。
这是我的注销代码(从另一个控制器)

class DashboardController < ApplicationController
  layout 'dashboard_layout'
  def home
  end

  def settings
  end

  def students
  end

  def logout
    session.clear
    redirect_to :controller=>'login',:action=>'index'
  end

它呈现页面本身,但不包括该控制器的布局。
我已经寻找了很多解决办法,但仍然没有希望。
这是一张从我的 Jmeter 板控制器调用(redirect_to)时root_path的图片。

这一定是我的根路径的设计。(包括布局)。请注意,URL是相同的,但布局没有呈现。但是当我刷新页面时,它显示了布局。

cwtwac6a

cwtwac6a1#

我发现了错误,它是Turbolinks。我删除了我的application.js和gem文件中的turbolinks,它就像一个魅力。布局不改变,因为被调用的特定布局的CSS不改变。当应用程序重定向到登录控制器的css必须登录。等等,但它仍然是 Jmeter 板的CSS。

相关问题