ruby-on-rails - 未定义的方法 `layout'

标签 ruby-on-rails ruby-on-rails-3 layout ruby-on-rails-3.2

我的 class Site::BaseController < ApplicationController 中有方法

before_filter :check_layout

   def check_layout
    if @user.site_theme == 'hometastic'
      layout 'hometastic'
    else
      layout 'agent'
    end
  end

当我只做
layout 'agent'  

它完美地工作

但是当我添加 before_filter我有 undefined method layout for
rails 3.2.16

有什么建议?
error screen

最佳答案

您可以使用 Rails 在处理请求时用来评估它的符号。 Guides

layout :themed_layout

def themed_layout
  if @user.site_theme == 'hometastic'
    'hometastic'
  else
    'agent'
  end
end

关于ruby-on-rails - 未定义的方法 `layout',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33276915/

相关文章:

ruby-on-rails - Rails Assets 管道不从第 3 方 css 框架编译字体

mysql - 将数据库逻辑放在应用程序中,而不是触发器、存储过程、约束等

ruby-on-rails-3 - Heroku dyno/worker 在开始时崩溃

Android View 管理

linux - 帮助网站在 FF/Linux 上的布局

python - 如何计算最佳列宽?

css - Rails 5 白名单 css 属性用于清理助手

ruby-on-rails - Rails - 无论我尝试什么,大写的电子邮件地址都会导致错误

activerecord - 是否有 Rails 3 替代 subclasses_of?

jQuery $(document).ready 不是一个函数 - Rails 3.1