Ruby on rails Ruby-验证。。登录问题

Ruby on rails Ruby-验证。。登录问题,ruby-on-rails,ruby,login,authentication,Ruby On Rails,Ruby,Login,Authentication,嗨,我想用RubyonRails创建一个身份验证。 我没有错误消息,但我无法登录 在我的本地主机上显示此图片(抱歉,我无法发布屏幕) 我的工作时间 C 2011 |登录 登录按钮不起作用 这是我的代码: application.html.erb <!DOCTYPE html> <html> <head> <title>Mytimes</title> <%= stylesheet_link_tag "applica

嗨,我想用RubyonRails创建一个身份验证。 我没有错误消息,但我无法登录

在我的本地主机上显示此图片(抱歉,我无法发布屏幕)


我的工作时间

C 2011 |登录


登录按钮不起作用

这是我的代码:

application.html.erb

<!DOCTYPE html>
<html>
<head>
  <title>Mytimes</title>
  <%= stylesheet_link_tag    "application", :media => "all" %>
  <%= javascript_include_tag "application" %>
  <%= csrf_meta_tags %>
</head>
<body>
<div id="container">
    <div id="header">
        <h1> My Workingtimes </h1>
    </div>
    <div id="content">
        <% if flash[:notice] %>
        <p id="notice">
            <%= flash[:notice] %>
        </p>
        <% end %>

        <% if flash[:alert] %>
        <p id= "alert">
            <%= flash[:alert] %> 
        </p>
        <% end %>
    </div>
    <div id="footer">
        &copy; 2012 |
        <% if user_signed_in? %>
        <%= link_to "logout", logout_path, method: :delete %> 
        <% else %>
        <%= link_to "login", login_path %>
        <% end %> 
    </div>
</div>
</body>
</html>
Mytimes::Application.routes.draw do
  resources :mytimes
  resources :users, :only => [:new, :create]
  resources :sessions, :only => [:create]

  get "login" => "sessions#new", as: "login"
  post "sessions" => "sessions#create", as: "sessions"
  delete "logout" => "sessions#destroy", as: "logout"
class SessionsController < ApplicationController
  def new
end

  def create
    user = User.find_by_email(params[:email])
    if user && user.authenticate(params[:password])
        session[:user_id] = user.id
        redirect_to mytimes_path,
          notice: "Your are signed!"
    else
      flash.now.alert = "Failed Email or Password!"

      render "new"
    end
end

  def destroy
    session[:user_id] = nil
    redirect_to mytimes_path,
      notice: "You are logged out!"
end

end
<h2> Log In </h2>

<%= form_tag sessions_path do %>
    <p> 
        <%= label_tag :email %>
        <%= text_field_tag :email, params[:email] %>
    </p>
    <p> 
        <%= label_tag :password %>
        <%= password_field_tag :password %>
    </p>
    <p><%= submit_tag "Log In" %></p>

<% end %>
<h2>New User</h2>
<%= form_for @user do |f| %>
    <% if @user.errors.any? %>
        <ul>
            <% @user.errors.full_messages.each do |msg| %>
                <li><%= msg %></li>
            <% end %>
        </ul>
    <% end %>

<p>
    <%= f.label :email %>
    <%= f.text_field :email %>
</p>
<p>
    <%= f.label :password %>
    <%= f.password_field :password %>
</p>
<p>
    <%= f.label :password_confirmation %>
    <%= f.password_field :password_confirmation %>
</p>
<p><%= f.submit %></p> 
<% end %>
应用程序\u控制器.rb

<!DOCTYPE html>
<html>
<head>
  <title>Mytimes</title>
  <%= stylesheet_link_tag    "application", :media => "all" %>
  <%= javascript_include_tag "application" %>
  <%= csrf_meta_tags %>
</head>
<body>
<div id="container">
    <div id="header">
        <h1> My Workingtimes </h1>
    </div>
    <div id="content">
        <% if flash[:notice] %>
        <p id="notice">
            <%= flash[:notice] %>
        </p>
        <% end %>

        <% if flash[:alert] %>
        <p id= "alert">
            <%= flash[:alert] %> 
        </p>
        <% end %>
    </div>
    <div id="footer">
        &copy; 2012 |
        <% if user_signed_in? %>
        <%= link_to "logout", logout_path, method: :delete %> 
        <% else %>
        <%= link_to "login", login_path %>
        <% end %> 
    </div>
</div>
</body>
</html>
Mytimes::Application.routes.draw do
  resources :mytimes
  resources :users, :only => [:new, :create]
  resources :sessions, :only => [:create]

  get "login" => "sessions#new", as: "login"
  post "sessions" => "sessions#create", as: "sessions"
  delete "logout" => "sessions#destroy", as: "logout"
class SessionsController < ApplicationController
  def new
end

  def create
    user = User.find_by_email(params[:email])
    if user && user.authenticate(params[:password])
        session[:user_id] = user.id
        redirect_to mytimes_path,
          notice: "Your are signed!"
    else
      flash.now.alert = "Failed Email or Password!"

      render "new"
    end
end

  def destroy
    session[:user_id] = nil
    redirect_to mytimes_path,
      notice: "You are logged out!"
end

end
<h2> Log In </h2>

<%= form_tag sessions_path do %>
    <p> 
        <%= label_tag :email %>
        <%= text_field_tag :email, params[:email] %>
    </p>
    <p> 
        <%= label_tag :password %>
        <%= password_field_tag :password %>
    </p>
    <p><%= submit_tag "Log In" %></p>

<% end %>
<h2>New User</h2>
<%= form_for @user do |f| %>
    <% if @user.errors.any? %>
        <ul>
            <% @user.errors.full_messages.each do |msg| %>
                <li><%= msg %></li>
            <% end %>
        </ul>
    <% end %>

<p>
    <%= f.label :email %>
    <%= f.text_field :email %>
</p>
<p>
    <%= f.label :password %>
    <%= f.password_field :password %>
</p>
<p>
    <%= f.label :password_confirmation %>
    <%= f.password_field :password_confirmation %>
</p>
<p><%= f.submit %></p> 
<% end %>
类ApplicationController
private

  def current_user
    if session[:user_id]
      @current_user ||= User.find(session[:user_id])
    end
  end

  def user_signed_in?
    current_user.present?
  end




  helper_method :user_signed_in?
end
会话\u控制器.rb

<!DOCTYPE html>
<html>
<head>
  <title>Mytimes</title>
  <%= stylesheet_link_tag    "application", :media => "all" %>
  <%= javascript_include_tag "application" %>
  <%= csrf_meta_tags %>
</head>
<body>
<div id="container">
    <div id="header">
        <h1> My Workingtimes </h1>
    </div>
    <div id="content">
        <% if flash[:notice] %>
        <p id="notice">
            <%= flash[:notice] %>
        </p>
        <% end %>

        <% if flash[:alert] %>
        <p id= "alert">
            <%= flash[:alert] %> 
        </p>
        <% end %>
    </div>
    <div id="footer">
        &copy; 2012 |
        <% if user_signed_in? %>
        <%= link_to "logout", logout_path, method: :delete %> 
        <% else %>
        <%= link_to "login", login_path %>
        <% end %> 
    </div>
</div>
</body>
</html>
Mytimes::Application.routes.draw do
  resources :mytimes
  resources :users, :only => [:new, :create]
  resources :sessions, :only => [:create]

  get "login" => "sessions#new", as: "login"
  post "sessions" => "sessions#create", as: "sessions"
  delete "logout" => "sessions#destroy", as: "logout"
class SessionsController < ApplicationController
  def new
end

  def create
    user = User.find_by_email(params[:email])
    if user && user.authenticate(params[:password])
        session[:user_id] = user.id
        redirect_to mytimes_path,
          notice: "Your are signed!"
    else
      flash.now.alert = "Failed Email or Password!"

      render "new"
    end
end

  def destroy
    session[:user_id] = nil
    redirect_to mytimes_path,
      notice: "You are logged out!"
end

end
<h2> Log In </h2>

<%= form_tag sessions_path do %>
    <p> 
        <%= label_tag :email %>
        <%= text_field_tag :email, params[:email] %>
    </p>
    <p> 
        <%= label_tag :password %>
        <%= password_field_tag :password %>
    </p>
    <p><%= submit_tag "Log In" %></p>

<% end %>
<h2>New User</h2>
<%= form_for @user do |f| %>
    <% if @user.errors.any? %>
        <ul>
            <% @user.errors.full_messages.each do |msg| %>
                <li><%= msg %></li>
            <% end %>
        </ul>
    <% end %>

<p>
    <%= f.label :email %>
    <%= f.text_field :email %>
</p>
<p>
    <%= f.label :password %>
    <%= f.password_field :password %>
</p>
<p>
    <%= f.label :password_confirmation %>
    <%= f.password_field :password_confirmation %>
</p>
<p><%= f.submit %></p> 
<% end %>
class sessioncontroller
sessions/new.html.erb

<!DOCTYPE html>
<html>
<head>
  <title>Mytimes</title>
  <%= stylesheet_link_tag    "application", :media => "all" %>
  <%= javascript_include_tag "application" %>
  <%= csrf_meta_tags %>
</head>
<body>
<div id="container">
    <div id="header">
        <h1> My Workingtimes </h1>
    </div>
    <div id="content">
        <% if flash[:notice] %>
        <p id="notice">
            <%= flash[:notice] %>
        </p>
        <% end %>

        <% if flash[:alert] %>
        <p id= "alert">
            <%= flash[:alert] %> 
        </p>
        <% end %>
    </div>
    <div id="footer">
        &copy; 2012 |
        <% if user_signed_in? %>
        <%= link_to "logout", logout_path, method: :delete %> 
        <% else %>
        <%= link_to "login", login_path %>
        <% end %> 
    </div>
</div>
</body>
</html>
Mytimes::Application.routes.draw do
  resources :mytimes
  resources :users, :only => [:new, :create]
  resources :sessions, :only => [:create]

  get "login" => "sessions#new", as: "login"
  post "sessions" => "sessions#create", as: "sessions"
  delete "logout" => "sessions#destroy", as: "logout"
class SessionsController < ApplicationController
  def new
end

  def create
    user = User.find_by_email(params[:email])
    if user && user.authenticate(params[:password])
        session[:user_id] = user.id
        redirect_to mytimes_path,
          notice: "Your are signed!"
    else
      flash.now.alert = "Failed Email or Password!"

      render "new"
    end
end

  def destroy
    session[:user_id] = nil
    redirect_to mytimes_path,
      notice: "You are logged out!"
end

end
<h2> Log In </h2>

<%= form_tag sessions_path do %>
    <p> 
        <%= label_tag :email %>
        <%= text_field_tag :email, params[:email] %>
    </p>
    <p> 
        <%= label_tag :password %>
        <%= password_field_tag :password %>
    </p>
    <p><%= submit_tag "Log In" %></p>

<% end %>
<h2>New User</h2>
<%= form_for @user do |f| %>
    <% if @user.errors.any? %>
        <ul>
            <% @user.errors.full_messages.each do |msg| %>
                <li><%= msg %></li>
            <% end %>
        </ul>
    <% end %>

<p>
    <%= f.label :email %>
    <%= f.text_field :email %>
</p>
<p>
    <%= f.label :password %>
    <%= f.password_field :password %>
</p>
<p>
    <%= f.label :password_confirmation %>
    <%= f.password_field :password_confirmation %>
</p>
<p><%= f.submit %></p> 
<% end %>
登录

我感谢你的帮助

users/new.html.erb

<!DOCTYPE html>
<html>
<head>
  <title>Mytimes</title>
  <%= stylesheet_link_tag    "application", :media => "all" %>
  <%= javascript_include_tag "application" %>
  <%= csrf_meta_tags %>
</head>
<body>
<div id="container">
    <div id="header">
        <h1> My Workingtimes </h1>
    </div>
    <div id="content">
        <% if flash[:notice] %>
        <p id="notice">
            <%= flash[:notice] %>
        </p>
        <% end %>

        <% if flash[:alert] %>
        <p id= "alert">
            <%= flash[:alert] %> 
        </p>
        <% end %>
    </div>
    <div id="footer">
        &copy; 2012 |
        <% if user_signed_in? %>
        <%= link_to "logout", logout_path, method: :delete %> 
        <% else %>
        <%= link_to "login", login_path %>
        <% end %> 
    </div>
</div>
</body>
</html>
Mytimes::Application.routes.draw do
  resources :mytimes
  resources :users, :only => [:new, :create]
  resources :sessions, :only => [:create]

  get "login" => "sessions#new", as: "login"
  post "sessions" => "sessions#create", as: "sessions"
  delete "logout" => "sessions#destroy", as: "logout"
class SessionsController < ApplicationController
  def new
end

  def create
    user = User.find_by_email(params[:email])
    if user && user.authenticate(params[:password])
        session[:user_id] = user.id
        redirect_to mytimes_path,
          notice: "Your are signed!"
    else
      flash.now.alert = "Failed Email or Password!"

      render "new"
    end
end

  def destroy
    session[:user_id] = nil
    redirect_to mytimes_path,
      notice: "You are logged out!"
end

end
<h2> Log In </h2>

<%= form_tag sessions_path do %>
    <p> 
        <%= label_tag :email %>
        <%= text_field_tag :email, params[:email] %>
    </p>
    <p> 
        <%= label_tag :password %>
        <%= password_field_tag :password %>
    </p>
    <p><%= submit_tag "Log In" %></p>

<% end %>
<h2>New User</h2>
<%= form_for @user do |f| %>
    <% if @user.errors.any? %>
        <ul>
            <% @user.errors.full_messages.each do |msg| %>
                <li><%= msg %></li>
            <% end %>
        </ul>
    <% end %>

<p>
    <%= f.label :email %>
    <%= f.text_field :email %>
</p>
<p>
    <%= f.label :password %>
    <%= f.password_field :password %>
</p>
<p>
    <%= f.label :password_confirmation %>
    <%= f.password_field :password_confirmation %>
</p>
<p><%= f.submit %></p> 
<% end %>
新用户


应用程序.html.erb
中没有
产量
。因此,将不显示视图