我有一个admin命名空间和Admin :: UserController控制器。当我尝试使用一个名为admin with symbol的布局时,rails会抛出一个异常,但是如果我将布局管理员称为字符串,则可以成功运行。
异常消息如下:
您指定了nil作为布局,但未找到此类方法
我只是想知道为什么会发生这种情况......
感谢。
答案 0 :(得分:9)
按照此处:
http://ap.rubyonrails.org/classes/ActionController/Layout/ClassMethods.html
有时你想要交替 布局取决于运行时 信息,如是否有人 登录或不登录。 这可以做到 通过指定方法 作为符号引用或使用 内联方法(作为proc)。
很长一段时间,当你指定一个符号时,Rails实际上希望它是一个方法引用,因此它声称没有找到方法的原因。