0

Это мой application_controller.rbRails3 макет не оказывает какой-то контроллер

class ApplicationController < ActionController::Base 
layout :my_layout 
private 
def my_layout 
    request.path.match(/folder/) ? 'layout1' : 'layout2' 
end 
end 

В этом контроллере метод компоновки по умолчанию называется и Layout2 делает запись/promotion_controller.rb

class Post::PromotionsController < ApplicationController 
    def index 
    end 
end 

Но в этом контроллере пользователя /users_request_controller.rb метод макета не вызывается и нет макета

class User::UserRequestsController < User::UserController 
def index 
end 
end 

class User::UserController < ApplicationController 
     def index 
     end 
end 

Пожалуйста, помогите мне, почему мой метод макета не вызван. Я использую rails3.2.14 и рубин 1.9.3p392

+0

Вы унаследованный от 'ApplicationController' в вашем' User: : UserController'? –

+0

Да Я наследую User :: UserController для ApplicationController –

+0

Почему пользовательский подкласс User :: UserRequestsController User :: UserController, а не ApplicationController? – Nick

ответ

0

попробуйте объявить метод my_layout как защищенные, а не частный

Это может сделать трюк

+0

Thanx, чтобы ответить, но он не работает. –

+0

извините :( –

 Смежные вопросы

  • Нет связанных вопросов^_^