Moduly class Customer < ActiveRecord::Base end require modulefilename include modulefilename
Moduly require "ZivaPriroda.rb" module Hra zvire = ZivaPriroda::Zvire.new("modra") puts zvire.color puts zvire.get_color end
Aptana Studio debug nutno instalovat ruby-debug-id gem ruby-debug-id gem list gem environment přidat EXECUTABLE_DIRECTORY do PATH v .bashrc
Ruby on Rails DRY - do not repeat yourself REST - webová aplikace jako soubor zdrojů MVC - model view controler
Model Obsahuje velkou část aplikační logiky Obvykle svázán s tabulkou d databázi
View HTML s kousky Ruby kódu Dříve rhtml dnes erb
Controller Lepidlo mezi modely a views Řídí předávání dat mezi modely a views
Controller Lepidlo mezi modely a views Řídí předávání dat mezi modely a views
Vztahy 1:1 has_one 1:N has_many M:N has_and_belongs_to_many N:1 belongs_to
Vztahy class Customer < ActiveRecord::Base has_many :orders, :dependent => :destroy end class Order < ActiveRecord::Base belongs_to :customer
Vztahy - vytváření a mazání @order = @customer.orders.create(:order_date => Time.now) @customer.destroy
Vygenerování scaffold script/generate scaffold Table rails generate scaffold Table
Spuštění serveru script/server rails server
Server WEBrick Server vyvinut specielně pro Ruby on Rails Apache sudo gem install passenger sudo passenger-install-apache2-module
Struktura aplikace scaffold app controllers table helpers models views layouts
Struktura aplikace scaffold config locales database.yml routes.rb public stylesheets
Controller scaffold index show new edit create update destroy
Layout Základní šablona pro všechny stránky Hlavička Patička Velmi málo Ruby kódu, možno editovat jako běžné HTML
Views Edit Index New Show
Database.yml development: adapter: mysql database: test username: test password: test host: localhost test: ... production:
Routes.rb Bez tohoto řádku map.resources :tabulka nefunguje mapování a není možno používat odkazy
Linky <%= link_to 'Edit', edit_post_path(@post) %> | <%= link_to 'Back', posts_path %>
Přesměrování Routes.rb map.root :controller => "polozkas", :action => "index" směrování na controller polozkas akce index nutno smazat index.html
Zobrazení Přesměrování rake routes
Přesměrování Routes.rb map.root :controller => "polozkas", :action => "index" směrování na controller polozkas akce index nutno smazat index.html
Migrate Rozšíření databáze rake db:migrate Nějak se mi to nezdá Raději ručně v MySQL
Model class Book < ActiveRecord::Base end class Subject < ActiveRecord::Base has_many :books
Vztahy 1:1 has_one 1:N has_many M:N has_and_belongs_to_many N:1 belongs_to
Vztahy class Customer < ActiveRecord::Base has_many :orders, :dependent => :destroy end class Order < ActiveRecord::Base belongs_to :customer
Vztahy - vytváření a mazání @order = @customer.orders.create(:order_date => Time.now) @customer.destroy
Validace @order = @customer.orders.create(:order_date => Time.now) @customer.destroy
Použité zdroje http://guides.rubyonrails.cz/ http://guides.rubyonrails.org/association_basics.html http://www.tutorialspoint.com/ruby-on-rails/rails-active-records.htm http://nathanhoad.net/how-to-ruby-on-rails-ubuntu-apache-with-passenger