gem install rails
)
rails -h
за помощ относно наличните команди
rails new app_name
създава ново празно приложение, кръстено AppName
rails g scaffold quiz
генерира "скеле", позволяващо CRUD-операции с ресурса Quiz (модел, контролер, изгледи, тестове)
rails g
без аргументи ще ви покаже пълен списък на генераторите, които са налични за вашето приложение
rake db:migrate
не е генератор, а Rake-задача, която изпълнява новосъздадени миграции на базата данни (добавяне на таблици, колони, индекси...)
rails -h
config/routes.rb
, се определя дали има кой да обслужи заявката, или трябва да се върне грешка 404
Rack provides a minimal, modular and adaptable interface for developing web applications in Ruby. By wrapping HTTP requests and responses in the simplest way possible, it unifies and distills the API for web servers, web frameworks, and software in between (the so-called middleware) into a single method call.
app = -> do |env|
body = "Hello, World!"
[
200,
{
"Content-Type" => "text/plain",
"Content-Length" => body.length.to_s,
},
[body]
]
end
run app
QuizzesController
, защото не ни е необходимо да рендерираме друго, освен HTMLQuiz
Question
, контролер, изгледи, миграция, тестовеbundle exec rails g question title:string position:integer
Question
Quiz
и Question
Question
на Quiz
config/routes.rb
и да променим QuestionsController
и файловете с изгледите (views) за въпросите така, че да използват правилно новите nested URL-иbefore_filter
, за да изпълним код преди извикването на всеки action в QuestionsController
; научете повече за филтрите в Rails тукparams
, сесии и бисквитки, различни rendering-опции, прихващане на някои грешки и прочееQuestionsController
, за да опростим нещатаGemfile
: gem 'activeadmin'
bundle install
bundle exec rails g active_admin:install
bundle exec rails g
и сме го видели в списъка с налични генератори :)
bundle exec rake db:migrate
, за да вкараме в базата новите миграцииbundle exec rails g active_admin:resource NAME
, където NAME
е името на ресурса (напр. quiz
)
Quiz
Question
в административния интерфейсadmin@example.com
и парола password
Не забравяйте:
Сайтът на курса е написан на Rails; можете да видите кода му в GitHub