development ,sedangkan yang test digunakan ketika proses tes aplikasi dan yang
Production ketika proses produksi. Untuk melakukan pengecekan apakah
database dapat berjalan atau tidaknya adalah dengan membuka alamat http:localhost:3000
.
4.3 Implementasi Model View Controller MVC
Didalam framework rails ini pada dasarnya menggunakan penerapan metode MVC yang merupakan metode dalam membangun website aplikasi.
Adapun cara kerjanya sebagai berikut: halaman interaksi yang merupakan bentuk dari View akan mengirimkan request ke controller sesuai dengan action yang
diberikan user. Controller merespon aksi dari view dengan cara berkomunikasi dengan model. Komunikasi dapat berupa mengakses, mengubah, menambah data
yang tersimpan oleh model. Controller akan memanggil view index dan file yang sesuai, untuk selanjutnya ditampilkan pada user interface sebagai output yang
dapat dilihat oleh user. Pada implementasinya MVC dapat dibuat satu persatu atau bisa juga dibuat dengan sekaligus dengan memanfaatkan fasilitas eksekusi
scaffold, yaitu ruby scriptgenerate scaffold table name in singular name of the
controller, misalnya :
ruby scriptgenerate scaffold member
4.3.1 Implementasi Model
Model mewakili data yang diproses oleh suatu aplikasi. Menyediakan suatu link penyimpanan data . Untuk menambahkan pemetaan hubungan antar
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
kelas pada setiap model, misalnya pada model Member member.rb , didalamnya akan terlihat kode berikut:
class Member ActiveRecord::Base has_many :events
validates_length_of :login, :within = 3..40 validates_length_of :password, :within = 5..40
validates_presence_of:login,:email,:password, :password_confirmation, :salt
validates_uniqueness_of :login, :email validates_confirmation_of :password
validates_format_of :email, :with = [\s]+?:
[-a-z0-9]+\.+[a-z]{2,}i, :message = Invalid email attr_protected :id, :salt
attr_accessor :password, :password_confirmation
def self.random_stringlen generate a random password consisting of strings and digits
chars=a..z.to_a + A..Z.to_a + 0..9.to_a newpass =
1.uptolen { |i| newpass chars[randchars.size-1] } return newpass
end def password=pass
password=pass self.salt = Member.random_string10 if self.salt?
self.hashed_password=Member.encryptpassword, self.salt end
def self.encryptpass, salt Digest::SHA1.hexdigestpass+salt
end def self.authenticatelogin, pass
u=find:first, :conditions=[login = ?, login] return nil if u.nil?
return u if Member.encryptpass, u.salt==u.hashed_password nil
end def send_new_password
new_pass = Member.random_string10 self.password = self.password_confirmation = new_pass
self.save Notifications.deliver_forgot_passwordself.email,
self.login, new_pass end
end
Dari code diatas, maka dapat dijelaskan bahwa, terdapat beberapa pengecekan kecocokan validasi yang tampak yaitu jumlah dan baris yang data
Hak Cipta © milik UPN Veteran Jatim : Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.
diisikan, tinggkat uniquity. Selain itu yang tampak pada code tersebut direlasikan dengan event hal_many pada member dan belong_to pada models event yang
dalam hal ini adalah untuk proses booking, enskripsi password, dan newpassword.
4.3.2 Implementasi View