Ruby on Rails ile Sign Up

Projemizde sign up-kayıt işlemini gerçekleştirebilmek için ilk olarak User controller a ihtiyacımız var.Bunun için konsol ekranımızda uygulamanın bulunduğu dizin içersinde ;

>>rails generate controller Users new

yazılan bu satır ile içersinde new action’ı hazır olarak gelen bir controller oluşturulur.

Kullanıcının kayıt olması için gerekli olan verlerin veritabanımız ile iletişimini sağlayacak bir model gerekli, bunun için ise;

>>rails generate model User name:string email:string

bu komut satırı yazıldıktan sonra dikkat edilirse create_users.rb adında migration dosyamız hazır olarak oluşturulmaktadır. Model ve migration dosyalarında yapılan değişikliklerden sonra,

>>rails db:migrate

yazılarak veritabanı tablolarımızın oluşturulmasını sağlayabiliriz.

Şuanda herhangi bir kullanıcı arayüzüne sahip olmadığımız için ilk kayıdı, kullanıcıyı konsol ekranı üzerinde ekleyeceğim, bunun için yapılması gerekenler rails console içinde;

>>user=User.new(name: “merve”, email: “merve@example.com”)

>>user.save

komut satırlarını yazmaktır. Suanda uygulamamda bir kullanıcı kayıdı mevcut bunu kontrol etmek için ;

>>user.last

>>user.all

yazılan satırlar ile kullanıcıya ait isim ve email bilgilerini görebiliriz.

Bu adımdan sonra yapılacak işlemler kayıdın eşsizliğini(uniq) ve validasyonlarını oluşturabilme amaçlı yapılacaktır.

Kullanıcı kaydı yaparken girilen email bilgisini index bilgisi ile birlikte tutabilmek için;

>>rails generate migration add_index_to_users_email

>>rails db:migrate

Kullanıcının parolasısını güvenliği için ekteki tablo oluşturulur.

>>rails generate migration add_password_digest_to_users password_digest:string

parolanın güvenliğini sağlamak için gemfile içerisine

“gem ‘bcrypt’, ‘3.1.11’

satırı eklenir ve gemin kurulumu için konsol üzerinde

>>bundle install yazılır.

Son olarak User.rb model dosyamız içinde

“has_secure_password” yazılarak kullanıcının parolasının güvenliği sağlanır.

Bu anlatılanlar ile kullanıcı kaydı yapabilmek için gerekli dosyalar ve altyapı oluşturuldu, bir sonraki yazımda sign up için bir tasarım ekranı ve kullanıcı girişi hakkında bilgi verilecektir.

Not: Yazılanlar deneyimlerimin sonucunda elde edilen bilgilerdir doğruluğunu ve kesinliğini garanti edemem. Ayrıca bu bilgileri elde ederken başka kaynaklardan yararlanılmıştır.

Kolay gelsin, iyi çalışmalar.