tutorial rails que ejemplos descargar curso caracteristicas ruby-on-rails ruby-on-rails-3

ruby on rails - que - Rails no está renderizando el diseño de mi aplicación



ruby on rails tutorial (2)

Acabo de encontrarme con este mismo problema y el problema es simplemente un error.

Su controlador PublicController está subclasificando "ActionController :: Base". Los controladores que no sean su ApplicationController necesitan subclasificar de ApplicationController para que sus vistas se representen dentro del diseño application.html.erb

Si cambias

PublicController < ActionController::Base

a

PublicController < ApplicationController

deberia de funcionar.

Acabo de crear una nueva aplicación de Rails en Rails 3.1.1, y el diseño de mi aplicación no se representa en el navegador. Lo único que se representa es el código que puse en las vistas (por ejemplo, views / public / home.html.erb).

Solo está representando lo que se está canalizando a través de <% = yield%>. Por ejemplo, localhost: 3000 / public / home está activado y solo muestra esto:

<h1>Homepage</h1> <h2>Here we go.</h2> <a href="/#">Visit the login page</a>

Esto es lo que hay en mi /layouts/application.html.erb:

<!DOCTYPE html> <html> <head> <title>My App</title> <%= stylesheet_link_tag "application" %> <%= javascript_include_tag "application" %> <%= csrf_meta_tags %> </head> <body> <ul class="user_nav"> <% if current_user %> <li> Logged in as <%= current_user.email %>. </li> <li> <%= link_to "Log out", logout_path %> </li> <% else %> <li> <%= link_to "Sign up", signup_path %> </li> <li> <%= link_to "Log in", login_path %> </li> <% end %> </ul> <% flash.each do |name, msg| %> <%= content_tag :div, msg, :id => "flash#{name}" %> <% end %> <%= yield %> <h1>test!</h1> </body> </html>

Aquí están mis rutas también:

root :to => "public#home" match "/secret" => "public#secret" get "logout" => "sessions#destroy", :as => "logout" get "login" => "sessions#new", :as => "login" get "signup" => "users#new", :as => "signup" resources :users resources :sessions

Esto es lo que hay en application_contoller.rb:

class ApplicationController < ActionController::Base protect_from_forgery end

Esto es lo que hay en public_controller.rb:

class PublicController < ActionController::Base protect_from_forgery def home end def secret end end

Esto es lo que hay en session_contoller.rb:

class SessionsController < ApplicationController def new end def create user = login(params[:email], params[:password], params[:remember_me]) if user redirect_back_or_to root_path, :notice => "Logged in!" else flash.now.alert = "Email or password was invalid" render :new end end def destroy logout redirect_to root_path, :notice => "Logged out" end end

Y aquí está lo que hay en users_controller.rb:

class UsersController < ApplicationController def new @user = User.new end def create @user = User.new(params[:user]) if @user.save redirect_to root_path, :notice => "Signed up!" else render :new end end end


Encontré el mismo problema con una arruga final: estaba anulando la inicialización en el controlador subclasificado. Asegúrate de llamar primero "super":

def initialize super @some_client = SomeClient.new end