rails: «Вход в систему» ​​и «Проверка подлинности по паролю» пользователей - PullRequest
0 голосов
/ 14 марта 2012

Я пытаюсь настроить страницу входа и пароль для моего сайта.Это будет на странице индекса.У меня есть класс модели: «Пользователь» и класс контроллера «users_controller».

Поведение, которое я пытаюсь реализовать, таково: пользователи вводят URL-адрес сайта, и он открывает страницу индекса, как показано ниже,Затем пользователи входят в систему и переходят на другую страницу, где у них есть доступ к содержимому сайта.

Теперь вопрос заключается в том, что мне нужно добавить в функцию «def index», чтобы она принималапараметры формы и передает их в другую функцию под названием «self.authenticate (параметры)» для проверки и возврата статуса

enter image description here

Вот код для users_controller

class UsersController < ApplicationController

def index
    @user = User.new 

    respond_to do |format|
        format.html 
        #index.html.erb
   end
end


def show
    @user = User.find(params[:id])
    @title = @user.name
end

def edit
    @user = User.find(params[:id])
    @title = @user.name
end

def destroy
    @user = User.find(params[:id])
end

def new
    @user = User.new 
    @title = "Sign Up"

end

def create

end

end

Вот форма:

<html>

<h1>Returning Users- Sign In</h1>
<%= form_for(@user) do |f| %>

<div class="field"> 
    <%=f.label :email %><br/>
    <%= f.text_field :email %>
</div>

<div class = "field">
    <%= f.label :password %><br/>
    <%= f.password_field :password %>
</div>

<div class = "actions">
    <%= f.submit "Sign In"  %>
</div>
<% end %>



<h1>New Users- Sign Up</h1>
<%= form_for(@user) do |f| %>

<div class="field"> 
    <%=f.label :name %><br/>
    <%= f.text_field :name %>
</div>
<div class="field"> 
    <%=f.label :email %><br/>
    <%= f.text_field :email %>
</div>

<div class = "field">
    <%= f.label :password %><br/>
    <%= f.password_field :password %>
</div>

<div class = "field">
    <%= f.label :password_confirmation, "Confirm Password"  %><br/>
    <%= f.password_field :password_confirmation %>
</div>

<div class = "actions">
    <%= f.submit "Sign Up"  %>
</div>

<%end%> 


    <br/>
<%= debug(params) if Rails.env.development? %>
<br/>

    </body>

Любая помощь будет отличной.Спасибо

Ответы [ 2 ]

0 голосов
/ 14 марта 2012

Я собираюсь объяснить вам, что вы хотите сделать.

Вы можете получить параметры, используя хеш-параметры:

params[]

Затем вы можете получить значение поля, передав его идентификацию, например:

params[:id]

или

params[:name]

Теперь передайте его self.authenticate(parameters) так, как вы можете (я не знаю, как реализован этот метод).

0 голосов
/ 14 марта 2012

Взгляните на недавнюю RailsCast аутентификацию с нуля от Райана Бейтса.Вы также можете использовать общий плагин аутентификации, например AuthLogic или Devise .

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