Отображаемая страница пуста, хотя представление и контроллер существуют. - PullRequest
1 голос
/ 22 января 2010

Я следую за эту статью (http://asciicasts.com/episodes/160-authlogic), Я не использую отличный генератор, хотя.

Я выполнил модель User, и страница localhost:3000/users/new работает нормально.

Но когда я пытаюсь открыть localhost:3000/login, страница просто пуста. Источник тоже пуст.

Я только что скопировал источник с сайта.

routes.rb

map.login 'login', :controller => 'user_sessions', :action => 'new'
map.logout 'logout', :controller => 'user_sessions', :action => 'destroy'
map.resources :user_sessions
map.resources :users

user_sessions_controller.rb

class UserSessionsController < ApplicationController
  def new
    @user_session = UserSession.new
  end

  def create
    @user_session = UserSession.new(params[:user_session])
    if @user_session.save
      flash[:notice] = "Successfully logged in."
      redirect_to root_url
    else
      render :action => 'new'
    end
  end

  def destroy
    @user_session = UserSession.find
    @user_session.destroy
    flash[:notice] = "Successfully logged out."
    redirect_to root_url
  end
end

/ просмотров / user_sessions / new.html.erb

<% form_for @user_session do |f| %>
  <%= f.error_messages %>
  <p>
    <%= f.label :username %><br />
    <%= f.text_field :username %>
  </p>
  <p>
    <%= f.label :password %><br />
    <%= f.password_field :password %>
  </p>
  <p><%= f.submit "Submit" %></p>
<% end %>

Код такой же, как у сайта.

Консоль сервера показывает, что представления отображаются:

Выполнено 200 OK за 149 мс (Просмотры: 145,5 мс | ActiveRecord: 3,2 мс)

Почему форма входа вообще не отображается?

Обновление

После добавления нового действия 'index' в контроллер user_sessions (также плюс index.html.erb), если я открою localhost:3000/user_sessions/index, появится сообщение ниже.

Неизвестное действие Никакие действия не ответили на шоу. Действия: создавать, уничтожать, индексировать и новые

И это вывод WEBrick

Обработка UserSessionsController # show (для 127.0.0.1 в 2010-01-22 12:47:10) [GET]

Параметры: {"id" => "index"}

ActionController :: UnknownAction (Нет Действие ответило на шоу. Действия: создавать, уничтожать, индексировать и создавать новые):

Ответы [ 2 ]

2 голосов
/ 22 января 2010

Я нашел причину.

В Views / layouts / application.html.erb ничего не было, файл существует, хотя.

1 голос
/ 22 января 2010

/views/new.html.erb должен быть расположен на views/user_sessions/new.html.erb

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...