2015-06-10 13 views
1

Я новичок в рельсах 4.0.2. Я работаю над приложением с рельсами версии 4 и ruby ​​2. В представлениях файл application.html.erb не работает. Он не реплицируется во всех файлах просмотра.Application.html.erb in rails 4

Это мой код в application.html.erb файле:

<!DOCTYPE html> 
<html> 
<head> 
    <title>Myapp</title> 
    <%= stylesheet_link_tag "application", media: "all", "data-turbolinks-track" => true %> 
    <%= javascript_include_tag "application", "data-turbolinks-track" => true %> 
    <%= csrf_meta_tags %> 
</head> 
<body> 
<%= yield %> 
</body> 
</html> 

У меня есть контроллер с именем xyz_controller.rb, который имеет следующий код:

class xyzController << ApplicationController 



end 

application_controller.erb файл имеет следующий код:

class ApplicationController < ApplicationController 

     def login 

     end 
end 

Файл login.erb содержит нормальный html-код.

Заранее спасибо.

+0

Является ли файл в 'app/views/layouts'? Есть ли у вас какие-либо другие макеты, определенные и определенные в вашем контроллере? –

+0

Да, файл присутствует в app/views/layouts, и у меня нет других макетов, присутствующих в контроллере. –

+0

Обновите свой пост контроллером и просмотрите код и объясните, как вы знаете, что макет не используется. –

ответ

0

Ваш контроллер приложение должно выглядеть следующим образом:

class ApplicationController < ActionController::Base 
    # Prevent CSRF attacks by raising an exception. 
    # For APIs, you may want to use :null_session instead. 
    protect_from_forgery with: :exception 
end 

Ваш контроллер XYZ должен выглядеть следующим образом:

class XyzController < ApplicationController 
    def action 
    #here you define instance variables used in your view for this action 
    end 
    ... 
end 

... так что ваши login действия, например, будет определяться там.

Ваше мнение должно быть названо action.html.erb, где действие соответствует действию вашего контроллера, и этот файл должен быть в приложении/views/xyz.

Мандарины Rails являются условной конфигурацией. Это означает, что все будет намного проще, если вы (очень близко) следуете за соглашениями Rails для именования и т. Д. Я настоятельно рекомендую вам проработать хороший учебник, например, Hartl's, если вы еще этого не сделали.

Надеюсь, это поможет.

+0

мой код имеет следующие вещи, но все еще его не работает –

+0

Пожалуйста, обновите свое оригинальное сообщение своим кодом. То, что вы сейчас показываете, не соответствует моему ответу. –

+0

Я обновил свой код, я попробовал то, что вы предложили, но мой код не работает –

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