Skip to main content

در مقاله پیشین در مورد چگونگی نصب و راه اندازی ریلز صحبت کردیم. اکنون، زمان آن رسیده که اولین برنامه خود را در ریلز، بنویسیم. در این مقاله، شما با چگونگی ایجاد یک پروژه، ایجاد یک کنترلر، مسیردهی و نمایش پیام روی صفحه مرورگر، آشنا خواهید شد.

ایجاد یک پروژه جدید

در این آموزش، قصد داریم یک پروژه به اسم hello_rails بسازیم. جهت ساخت پروژه خود، از دستور زیر استفاده میکنیم :

rails new hello_rails

مراحل راه اندازی پروژه جدید ممکن است تا حدی طولانی شود (به دلیل راه اندازی دستور bundle install ). پس از ایجاد پروژه، پوشه ای به نام پروژه ایجاد خواهد شد. با دستور زیر، به داخل پوشه می رویم :

cd ./hello_rails

درون پوشه، پوشه های دیگری قرار دارند، که شامل پیکربندی ها، مسیرها، کنترلر ها و … هستند (در مقالات بعدی این پوشه ها را به تفصیل مورد بحث و بررسی قرار خواهیم داد).

ایجاد یک کنترلر جدید

با دستور زیر، یک کنترلر جدید به نام hello ایجاد می کنیم. توجه کنید که این hello قرار است صفحه ایندکس ما نیز باشد.

rails generate controller hello index

اکنون، بهتر است یک بار پروژه خود را تست کنیم :

rails server

بصورت پیشفرض، سرور ریلز روی پورت ۳۰۰۰ اجرا می گردد ، پس آدرس مورد نظر ما چنین خواهد بود :

localhost:3000

و شاهد چنین صفحه ای هستیم :
Screenshot from 2015-04-03 01:06:21

اکنون زمان آن رسیده تا به پیکربندی کنترلر ساخته شده بپردازیم.

نخستین برنامه شما، سلام به ریلز!

در واقع میخواهیم در این قسمت از آموزش، یک برنامه ایجاد کنیم که برای ما بنویسد Hello, Rails . برای این کار، ابتدا در مسیر زیر، کنترلر hello را به عنوان ریشه ( = root ) معرفی میکنیم :

config/routes.rb

این فایل را باز کرده، و این خطوط را به آن اضافه مینماییم :

Rails.application.routes.draw do
  get 'hello/index'
  root 'hello#index'
end

اکنون بار دیگر، سرور ریلز را اجرا میکنیم. حالا صفحه ای که ریلز به نشان میدهد این است :
Screenshot from 2015-04-03 01:12:17

همانگونه که مستحضرید، ریلز به شما می گوید که کجا میتوانید این ایندکس را ویرایش کنید. پوشه ویرایش فایل، اینجاست :

app/views/hello/index.html.erb

ما این پرونده را باز کرده، و درونش چنین مینویسیم :

<h1> Hello, Rails </h1>

اما میخواهیم، نام خودمان را به عنوان یک پارامتر به آدرس بدهیم. در واقع، مساله ما اینست که آدرس را به شکل :

localhost:3000/Muhammadreza

به برنامه بدهیم، و سپس پیام Hello, Muhammadreza را دریافت کنیم. اکنون، باید کمی با کنترلر ها کار کنیم. پس به پوشه :

app/controllers

رفته و فایل hello_controller.rb را باز کرده و به این شکل تغییرش میدهیم :

class HelloController < ApplicationController
  def index
	@name = params[:name]
  end
end

اکنون، دوباره باید در فایل routes.rb تغییری ایجاد کنیم ، فایل را باز کرده و چنین تغییرش میدهیم :

Rails.application.routes.draw do
  get 'hello/index'
  get '/:name' => 'hello#index'
  root 'hello#index'
end

اکنون این فایل را ذخیره کرده، در خط فرمان دستور زیر را اجرا میکنیم :

rake routes

این دستور، مسیرها را یک بار برای ما میسازد. پس از اینکه بدون هیچ خطایی این مرحله گذشت، کافیست به views رفته و فایل index.html.erb را این گونه ادیت کنیم :

<h1> Hello, <%= @name %> !</h1>

و سپس سرور را اجرا میکنیم.

اکنون باید آدرسی که پیش تر مد نظر داشتیم را به برنامه بدهیم، و نتیجه را ببینیم!

localhost:3000/Muhammadreza

و نتیجه چنین خواهد بود :
Screenshot from 2015-04-03 01:27:43تبریک می گوییم!

اکنون شما نخستین برنامه خود را با ریلز نوشته اید، و آماده اید تا برنامه های بیشتری را با ریلز، بسازید.

موفق باشید.