Обработка данных форм в Ruby on Rails - PullRequest
1 голос
/ 27 июля 2011

Я новичок в Rails и сейчас пытаюсь написать небольшой проект на Rails.В рамках этого проекта я хочу обработать форму данных (пароль).Моя форма:

<form name="input" action="http://0.0.0.0:3000/submit/" method="get">

Password: <input type="text" name="password" />

<input type="submit" value="Login" />

Если введенный пароль правильный, я хочу отобразить еще одну HTML-страницу, исходный пароль не сохраняется в базе данных, значит просто хочу сравнить со строкой символов.Я создал контроллер и просмотр с помощью 'rails generate controller project'.Я думаю, что код для совпадения пароля должен быть записан в файле 'project_controller.rb' в каталоге 'app / controllers'.Но как написать код для совпадения пароля и как отобразить URL в файле 'rout.rb'?Если метод «get» был изменен на «post», какие необходимые изменения необходимы?

1 Ответ

5 голосов
/ 27 июля 2011

Прежде всего, Routs.rb - это файл для сопоставления URL-адреса с функцией на контроллере.

Базовый пример маршрутизации такой:

Foo::Application.routes.draw do
  get '/form'  => 'project#form'
  get '/submit'  => 'project#submit'
  get '/logedin'  => 'project#logedin'
end

там у меня есть 3 функции в моем project_controller.rb, который отображает функцию, которую вы можете изменить для публикации, изменив 'get' на 'post'

, вот пример кода project_controller.rb

class ProjectController < ApplicationController
def form
    #will render view/project/form.html.erb
end

def submit
    if params[:password] == 'secret'
        redirect_to '/logedin'
    else
        #you can redirect to form again 
        #or render the form again
        render 'form' #render the view/project/form.html.erb
    end
end

def logedin
    render :text  => 'you are loged in'
end

end

функция формы просто отобразит представление по умолчанию, которое находится в app / view / project / form.html.erb

submit - это основная логика.Вы можете получить доступ к данным формы, используя переменную с кодом params

, код прост.Вы можете узнать подробности о направляющих рельсов http://guides.rubyonrails.org/

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