Cara membangunkan laman web e-dagang yang mudah menggunakan MySQL dan Ruby
Pembangunan laman web e-dagang adalah bahagian penting dalam aplikasi Internet moden. Dalam artikel ini, kami akan memperkenalkan cara membangunkan laman web e-dagang yang mudah menggunakan MySQL dan Ruby. Kami akan membincangkan reka bentuk pangkalan data, logik bahagian belakang dan interaksi bahagian hadapan serta memberikan contoh kod khusus.
Pertama sekali, kita perlu mereka bentuk pangkalan data yang sesuai untuk laman web e-dagang. Kami akan menggunakan MySQL sebagai sistem pengurusan pangkalan data kami dan mentakrifkan jadual berikut:
Kod untuk mencipta jadual ini dalam MySQL adalah seperti berikut:
CREATE TABLE User ( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) NOT NULL, password VARCHAR(50) NOT NULL, email VARCHAR(50) NOT NULL ); CREATE TABLE Product ( id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50) NOT NULL, price DECIMAL(10, 2) NOT NULL, stock INT NOT NULL ); CREATE TABLE Order ( id INT AUTO_INCREMENT PRIMARY KEY, user_id INT NOT NULL, product_id INT NOT NULL, quantity INT NOT NULL, FOREIGN KEY (user_id) REFERENCES User(id), FOREIGN KEY (product_id) REFERENCES Product(id) );
Seterusnya, kami akan menggunakan Ruby untuk melaksanakan logik belakang. Kami akan menggunakan Sinatra sebagai rangka kerja web kami dan ActiveRecord untuk berinteraksi dengan pangkalan data MySQL. Berikut ialah contoh kod hujung belakang yang mudah:
require 'sinatra' require 'sinatra/activerecord' # 配置数据库连接 set :database, {adapter: 'mysql2', host: 'localhost', database: 'ecommerce', username: 'root', password: 'password'} # 定义User模型 class User < ActiveRecord::Base has_many :orders end # 定义Product模型 class Product < ActiveRecord::Base has_many :orders end # 定义Order模型 class Order < ActiveRecord::Base belongs_to :user belongs_to :product end # 创建用户 post '/users' do user = User.create(params[:user]) if user.valid? {status: 'success', message: 'User created successfully'}.to_json else {status: 'error', message: user.errors.full_messages.join(', ')}.to_json end end # 创建商品 post '/products' do product = Product.create(params[:product]) if product.valid? {status: 'success', message: 'Product created successfully'}.to_json else {status: 'error', message: product.errors.full_messages.join(', ')}.to_json end end # 创建订单 post '/orders' do order = Order.create(params[:order]) if order.valid? {status: 'success', message: 'Order created successfully'}.to_json else {status: 'error', message: order.errors.full_messages.join(', ')}.to_json end end
Dalam contoh di atas, kami telah menentukan tiga model (Pengguna, Produk dan Pesanan) untuk berinteraksi dengan pangkalan data. Kami mencipta tiga laluan untuk mengendalikan permintaan pengguna, produk dan pembuatan pesanan.
Akhir sekali, kami akan menggunakan HTML, CSS dan JavaScript untuk melaksanakan interaksi hadapan. Berikut ialah contoh kod bahagian hadapan yang mudah:
<!DOCTYPE html> <html> <head> <title>E-commerce Website</title> <link rel="stylesheet" type="text/css" href="style.css"> <script src="script.js"></script> </head> <body> <h1>Welcome to our E-commerce Website</h1> <form id="user-form" onsubmit="createUser(event)"> <input type="text" name="username" placeholder="Username" required> <input type="password" name="password" placeholder="Password" required> <input type="email" name="email" placeholder="Email" required> <button type="submit">Create User</button> </form> <form id="product-form" onsubmit="createProduct(event)"> <input type="text" name="name" placeholder="Product Name" required> <input type="number" name="price" step="0.01" placeholder="Price" required> <input type="number" name="stock" placeholder="Stock" required> <button type="submit">Create Product</button> </form> <form id="order-form" onsubmit="createOrder(event)"> <input type="number" name="user_id" placeholder="User ID" required> <input type="number" name="product_id" placeholder="Product ID" required> <input type="number" name="quantity" placeholder="Quantity" required> <button type="submit">Create Order</button> </form> <script src="http://code.jquery.com/jquery-3.5.1.min.js"></script> <script src="script.js"></script> </body> </html>
/* style.css */ input { margin-bottom: 10px; } button { margin-top: 10px; }
// script.js function createUser(event) { event.preventDefault(); $.ajax({ url: '/users', method: 'POST', data: $('#user-form').serialize(), success: function(response) { console.log(response); } }); } function createProduct(event) { event.preventDefault(); $.ajax({ url: '/products', method: 'POST', data: $('#product-form').serialize(), success: function(response) { console.log(response); } }); } function createOrder(event) { event.preventDefault(); $.ajax({ url: '/orders', method: 'POST', data: $('#order-form').serialize(), success: function(response) { console.log(response); } }); }
Dalam contoh di atas, kami mencipta borang mudah untuk mencipta pengguna, item dan pesanan. Apabila borang diserahkan, data dihantar ke bahagian belakang melalui permintaan Ajax dan respons dipaparkan dalam konsol.
Ringkasan:
Artikel ini memperkenalkan cara menggunakan MySQL dan Ruby untuk membangunkan tapak web e-dagang yang ringkas. Kami membincangkan reka bentuk pangkalan data, logik bahagian belakang dan interaksi bahagian hadapan serta memberikan contoh kod konkrit. Dengan mengkaji contoh ini, anda boleh mula membangunkan tapak web e-dagang anda sendiri, memanjangkan dan menyesuaikannya mengikut keperluan. Harap artikel ini dapat membantu anda!
Atas ialah kandungan terperinci Bagaimana untuk membangunkan laman web e-dagang yang mudah menggunakan MySQL dan Ruby. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!