Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Ruby On Rails > Получение данных из формы


Автор: rubynoob 1.3.2009, 14:37
Даже не знаю как спросить...

002_create_users.rb
Код

class CreateUsers < ActiveRecord::Migration
  def self.up
    create_table :users do |t|
      t.column :login, :string
      t.column :hash, :string
      t.column :mailbox, :string
      t.timestamps
    end
  end

  def self.down
    drop_table :users
  end
end


index.rhtml
Код

<html>
<head>
    <title>Auth</title>
</head>
<body>

    <b>Представимся?</b><br>
    <%= link_to "Вход" , :action => "ins" %> | <%= link_to "Регистрация" , :action => "reg" %><br>
    
</body>
</html>



ins.rhtml
Код

<html>
<head>
    <title>Auth</title>
</head>
<body>

    <b>Представимся?</b><br>
    <%= link_to "Вход" , :action => "ins" %> | <%= link_to "Регистрация" , :action => "reg" %><br>
    
</body>
</html>



passback.rhtml
Код

<html>
<head>
    <title>Восстановление пароля</title>
</head>
<body>

    E-mail <%= text_field_tag "mailbox" %><br>
    <%= button_to "Выслать пароль" %><br>
    
</body>
</html>



reg.rhtml
Код

<html>
<head>
    <title>Регистрация</title>
</head>
<body>

    <%= start_form_tag :action => "reg" %>
        <label for="login">Логин</label>
        <%= text_field_tag "login" %><br>
        <label for="password">Пароль</label>
        <%= text_field_tag "password" %><br>
        <label for="password2">Подтверждение пароля</label>
        <%= text_field_tag "password2" %><br>
        <label for="mailbox">E-mail</label>
        <%= text_field_tag "mailbox" %><br>
        <%= button_to "Создать аккаунт", :action => :reg %><br>
    <%= end_form_tag %>
    
</body>
</html>



auth_controller.rb
Код

require 'md5'

class AuthController < ApplicationController

    # Вход
    def ins
        #
    end
    
    # Регистрация
    def reg
        #
    end
    
    # Восстановление пароля
    def passback
        #
    end

end



Я только только начал изучать RoR и Ruby ... не надо камней!

Как мне считать данные введенные в reg.rhtml и кинуть их в базу... хочеться просто взгялнуть на небольшой примерчик

p.s.: буду рад любой помощи... я здесь на долго... может посоветуете еще ror-форумы

Автор: source777 1.3.2009, 18:54
Цитата(rubynoob @  1.3.2009,  14:37 Найти цитируемый пост)
Я только только начал изучать RoR и Ruby
методом тыка что ли? Откуда ты свой код откопал? Так даже под Rails 1.2 никто не писал... а сейчас уж 2.3 на подходе... почитай для начала хоть какую-нибудь книжку по Rails 2.x, а потом уж на форум приходи...

По поводу авторизации см. http://wiki.rubyonrails.org/howtos/authentication-authorization.



Автор: kronos_vano 2.3.2009, 02:13
Дело дрянь. Так писать низя :(. Статью что ли написать.

Автор: kronos_vano 2.3.2009, 05:14
Попробуй так http://habrahabr.ru/blogs/ruby/53254/

Автор: rubynoob 2.3.2009, 23:31
спсб. буду пробовать! уж очень привлекают меня MVC, ORM и пр. в RoR-е...
но почему то сложилось впечатление, что сложно начать работать с RoR-ом, хотя Ruby прост и лаконичен!

До этого я никогда не писал веб-приложения... но вот на PHP + CodeIgniter Framework у меня почти сразу начало получаться то, что было задумано...
хм(( обидно как-то... Изучать PHP не вариант, он стар... в общем не будем холиварить - будете помогать в роре разобраться

Автор: rubynoob 3.3.2009, 11:54
Я чего-то точно недопонимаю...

Создал значит проект в Netbeans

Настроил database.yml

Создал базу mysqladmin -u root create test_development

Затем эти файлы:

001_create_users.rb
Код

class CreateUsers < ActiveRecord::Migration
  def self.up
    create_table :users do |t|
      t.string "name"
      t.string "pass"
      t.timestamps
    end
  end

  def self.down
    drop_table :users
  end
end



user.rb
Код

class User < ActiveRecord::Base
  # В случае успешно обнаруженного юзера и совпавшего пароля,
  # метод вернет объект user. В противном случае, будет
  # сгенерированно исключение с текстом 'Invalid login parametrs'
  def self.check(name, pass)
      user = User.find(:first, :conditions => ["name = ?", name])
      if user.blank? || user.pass != pass
         raise 'Invalid login parametrs'
      end
      user # return
  end
end



login_controller.rb
Код

class LoginController < ApplicationController
  def index
    #
  end
end



index.rhtml
Код

<html>
<head>
  <title>login</title>
</head>
<body>
  <% #form_tag :controller => :login, :action => :index do %>
    <fieldset>
    
      <table border="0">
      <tr>
        <td><label for="name">Логин</label></td>  
        <td><%= text_field "user", "name" %></td>
        <td rowspan="2" width="10">&nbsp;</td>
        <!-- <td rowspan="2"><%= submit_tag 'Вход' %></td> -->
      </tr>
      <tr>
        <td><label for="pass">Пароль</label></td>  
        <td><%= password_field "user", "pass" %></td>
      </tr>  
    </table>  
    <%= submit_tag 'Вход' %> 
    </fieldset>    
 <% #end %>
</body>
</html>



Один хрен не работает, опять я не так сделал?

PS: в базу инсертнул перед этим пару строчек

Автор: rubynoob 4.3.2009, 15:06
чертов scaffolding, нахрен он сдался... 


и вообще я не могу работать инструментом, который совершенствуется в моей руке!!!

p.s.: похоже ror в долгий ящик

Автор: source777 4.3.2009, 15:56
Цитата(rubynoob @  4.3.2009,  15:06 Найти цитируемый пост)
и вообще я не могу работать инструментом, который совершенствуется в моей руке!!!

да твоя рука ещё очень далека от текущего RoR, где-то на уровне 2006 года... впрочем, не можешь - так не надо, изучай PHP, там как раз глухо как в танке уже несколько лет...

Автор: rubynoob 5.3.2009, 00:59
почему сразу PHP?! Есть же J2EE (сервлеты, JSP)???!!!

Автор: source777 5.3.2009, 12:11
Цитата(rubynoob @  5.3.2009,  00:59 Найти цитируемый пост)
почему сразу PHP?! Есть же J2EE (сервлеты, JSP)???!!! 
много чего есть, но тебе подойдёт только РНР в его базовом варианте, это заметно... т.к. до фреймворков ещё дорасти надо!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)