SlideShare a Scribd company logo
1 of 5
Download to read offline
Zapiski za Ruby on Rails 3 !                                                  Oto Brglez


To so tehnični zapiski k uporabi Ruby on Rails 3. Avtor je Oto Brglez
<oto.brglez@opalab.com>. Zapiske lahko prosto spreminjate, dopolnjujete in
razmnožujete. Avtor dokumenta mora ostati naveden!

                                            Zadnja sprememba: sreda, 01. september 2010


1. Uporaba Heroku oblaka
1.      Klic irb na heroku oblaku

heroku console

2.      Push vsebine na heroku

git push heroku

3.      Prenos baze na strežnik

heroku db:pusth

4.      Reset baze

heroku db:reset


2. Controllers / Kontrolerji
1.      Generiranje kontrolerja

rails generate controller
rails generate controller Project
rails generate controller Project addTask

2.      Krajšanje odgovorov kontrolerja

respond_to :html, :js
respond_with(@project)

3.      Odgovor z lokacijo

respond_with(@project, :location => [:edit, @project])

4.      Nastavljanje “flashov”

redirect_to ... :notice => “Shranjeno...”
flash[:notice] = “Shranjeno”



Zapiski za Ruby on Rails 3!                                                           1
Zapiski za Ruby on Rails 3 !                                           Oto Brglez



3. Models / Modeli
1.      Relacija 1 to many (1:N)

has_many :tasks

2.      Relacija Many to 1 (N:1)

belongs_to :project

3.      Relacija Many-to-Many (N:M)

has_and_belongs_to_many :tags

4.      Odstrani povezano

has_many :questions, :dependent => :destroy

5.      Privzetno ime

def to_s
#      self.name
end

6.      Metoda, ki pripravlja url-je

def to_param
#      “#{id}-#{slug}”
end

7.      Privzetno urejanje po modelu

default_scope :order => "name ASC"

8.      Gnezdeni atributi - dovoli posodabljanje

accepts_nested_attributes_for :product_sides, :allow_destroy => true

9.      Validiranje prisotnosti

validates_presence_of :name

10.     Validiranje numeričnosti

validates_numericality_of [:weight]




Zapiski za Ruby on Rails 3!                                                    2
Zapiski za Ruby on Rails 3 !                        Oto Brglez


11.     Ustvarjanje objekta

@project = Project.new

12.     Shranjevanje

@project.save

13.     Iskanje po ID-ju

@project = Project.find(params[:project_id])

14.     Iskanje vseh

@project = Project.find(:all)

15.     Iskanje z generično metodo (find_by_*)

@project = Project.find_by_slug(params[:slug])

16.     Brisanje zapisa

@project.destroy

17.     Brisanje vseh zapisov

@project.delete_all

18.     Preverba posodobljenosti atributov modela

if @payment.update_attributes(params[:payment])


4. Routes / Poti
1.      Iskanje novih poti

rake routes

2.      “redirect_to” s poljem

redirect_to [:edit,@project]

3.      “redirect_to” s ruto

redirect_to edit_project_path(@project)




Zapiski za Ruby on Rails 3!                                 3
Zapiski za Ruby on Rails 3 !                           Oto Brglez



5. HAML
1.      Navadna struktura

!!!
%html
#     %head
#     #    %title Naslov
#     %body
#     #    %h1

2.      Pogoji v HAML-u

- if ( ... pogoj ... )
#         %h1 Naslov

3.      Izpis spremenljivke ali klic metode

%h1=link_to “Uredi produkt”, [:edit,@product]

4.      Komentar

/
#       To je komentar
... se spremeni v ...
<--
#       To je komentar
-->

5.      Class in ID

%h1#prvi-naslov.title Zdravo svet!
... se spremeni v ...
<h1 id=”prvi-naslov” class=”title”>Zdravo svet!</h1>

6.      Zanke

- @products.each do |product|
#     =product

7.      Prikaz vsebine

=yield :sidebar

8.      Nastavljanje vsebin za sidebar

- content_for :sidebar do
#      %h2 Tools

Zapiski za Ruby on Rails 3!                                    4
Zapiski za Ruby on Rails 3 !                                                      Oto Brglez


#       %p List of tools...


6. Debugging Rails / Razhroščevanje
1.      Osnove

Nameščen mora biti gem “ruby-debug” (sudo gem install ruby-debug)
rails server --debugger

V vrstici, ki jo razhroščuješ vpišeš
debugger

Ko pride interpreter do točke bo v konzoli kjer teče strežnik mogoče izvajati
razhroščevanje.

2.      Izpis trenutne lokacije

l
p

3.      Klic razhroščevalnika iz view-a (HAML)

# Strežnik mora biti pognan z rails server --debugger in med gem-i mora biti tudi gem ruby-
debug

- debugger




Zapiski za Ruby on Rails 3!                                                               5

More Related Content

More from Oto Brglez

Akka with Scala
Akka with ScalaAkka with Scala
Akka with ScalaOto Brglez
 
How to over-engineer things and have fun? Building a modern, distributed real...
How to over-engineer things and have fun? Building a modern, distributed real...How to over-engineer things and have fun? Building a modern, distributed real...
How to over-engineer things and have fun? Building a modern, distributed real...Oto Brglez
 
Kdaj lahko uporabimo piškotke?
Kdaj lahko uporabimo piškotke?Kdaj lahko uporabimo piškotke?
Kdaj lahko uporabimo piškotke?Oto Brglez
 
Continuous integration (CI) v praksi
Continuous integration (CI) v praksiContinuous integration (CI) v praksi
Continuous integration (CI) v praksiOto Brglez
 
Ruby in prijatelji
Ruby in prijateljiRuby in prijatelji
Ruby in prijateljiOto Brglez
 
Ruby in ogrodje Rails
Ruby in ogrodje RailsRuby in ogrodje Rails
Ruby in ogrodje RailsOto Brglez
 
Subversion in Redmine implementacija
Subversion in Redmine implementacijaSubversion in Redmine implementacija
Subversion in Redmine implementacijaOto Brglez
 
Šolski Spletni Informacijski Sistem
Šolski Spletni Informacijski SistemŠolski Spletni Informacijski Sistem
Šolski Spletni Informacijski SistemOto Brglez
 
PHP: Hypertext Preprocessor Introduction
PHP: Hypertext Preprocessor IntroductionPHP: Hypertext Preprocessor Introduction
PHP: Hypertext Preprocessor IntroductionOto Brglez
 
Java Servlet in JSP
Java Servlet in JSPJava Servlet in JSP
Java Servlet in JSPOto Brglez
 

More from Oto Brglez (12)

Akka with Scala
Akka with ScalaAkka with Scala
Akka with Scala
 
How to over-engineer things and have fun? Building a modern, distributed real...
How to over-engineer things and have fun? Building a modern, distributed real...How to over-engineer things and have fun? Building a modern, distributed real...
How to over-engineer things and have fun? Building a modern, distributed real...
 
Elasticsearch
ElasticsearchElasticsearch
Elasticsearch
 
Kdaj lahko uporabimo piškotke?
Kdaj lahko uporabimo piškotke?Kdaj lahko uporabimo piškotke?
Kdaj lahko uporabimo piškotke?
 
Continuous integration (CI) v praksi
Continuous integration (CI) v praksiContinuous integration (CI) v praksi
Continuous integration (CI) v praksi
 
nanob
nanobnanob
nanob
 
Ruby in prijatelji
Ruby in prijateljiRuby in prijatelji
Ruby in prijatelji
 
Ruby in ogrodje Rails
Ruby in ogrodje RailsRuby in ogrodje Rails
Ruby in ogrodje Rails
 
Subversion in Redmine implementacija
Subversion in Redmine implementacijaSubversion in Redmine implementacija
Subversion in Redmine implementacija
 
Šolski Spletni Informacijski Sistem
Šolski Spletni Informacijski SistemŠolski Spletni Informacijski Sistem
Šolski Spletni Informacijski Sistem
 
PHP: Hypertext Preprocessor Introduction
PHP: Hypertext Preprocessor IntroductionPHP: Hypertext Preprocessor Introduction
PHP: Hypertext Preprocessor Introduction
 
Java Servlet in JSP
Java Servlet in JSPJava Servlet in JSP
Java Servlet in JSP
 

Ruby on Rails 3 - Simple SLOVENIAN cheat sheet

  • 1. Zapiski za Ruby on Rails 3 ! Oto Brglez To so tehnični zapiski k uporabi Ruby on Rails 3. Avtor je Oto Brglez <oto.brglez@opalab.com>. Zapiske lahko prosto spreminjate, dopolnjujete in razmnožujete. Avtor dokumenta mora ostati naveden! Zadnja sprememba: sreda, 01. september 2010 1. Uporaba Heroku oblaka 1. Klic irb na heroku oblaku heroku console 2. Push vsebine na heroku git push heroku 3. Prenos baze na strežnik heroku db:pusth 4. Reset baze heroku db:reset 2. Controllers / Kontrolerji 1. Generiranje kontrolerja rails generate controller rails generate controller Project rails generate controller Project addTask 2. Krajšanje odgovorov kontrolerja respond_to :html, :js respond_with(@project) 3. Odgovor z lokacijo respond_with(@project, :location => [:edit, @project]) 4. Nastavljanje “flashov” redirect_to ... :notice => “Shranjeno...” flash[:notice] = “Shranjeno” Zapiski za Ruby on Rails 3! 1
  • 2. Zapiski za Ruby on Rails 3 ! Oto Brglez 3. Models / Modeli 1. Relacija 1 to many (1:N) has_many :tasks 2. Relacija Many to 1 (N:1) belongs_to :project 3. Relacija Many-to-Many (N:M) has_and_belongs_to_many :tags 4. Odstrani povezano has_many :questions, :dependent => :destroy 5. Privzetno ime def to_s # self.name end 6. Metoda, ki pripravlja url-je def to_param # “#{id}-#{slug}” end 7. Privzetno urejanje po modelu default_scope :order => "name ASC" 8. Gnezdeni atributi - dovoli posodabljanje accepts_nested_attributes_for :product_sides, :allow_destroy => true 9. Validiranje prisotnosti validates_presence_of :name 10. Validiranje numeričnosti validates_numericality_of [:weight] Zapiski za Ruby on Rails 3! 2
  • 3. Zapiski za Ruby on Rails 3 ! Oto Brglez 11. Ustvarjanje objekta @project = Project.new 12. Shranjevanje @project.save 13. Iskanje po ID-ju @project = Project.find(params[:project_id]) 14. Iskanje vseh @project = Project.find(:all) 15. Iskanje z generično metodo (find_by_*) @project = Project.find_by_slug(params[:slug]) 16. Brisanje zapisa @project.destroy 17. Brisanje vseh zapisov @project.delete_all 18. Preverba posodobljenosti atributov modela if @payment.update_attributes(params[:payment]) 4. Routes / Poti 1. Iskanje novih poti rake routes 2. “redirect_to” s poljem redirect_to [:edit,@project] 3. “redirect_to” s ruto redirect_to edit_project_path(@project) Zapiski za Ruby on Rails 3! 3
  • 4. Zapiski za Ruby on Rails 3 ! Oto Brglez 5. HAML 1. Navadna struktura !!! %html # %head # # %title Naslov # %body # # %h1 2. Pogoji v HAML-u - if ( ... pogoj ... ) # %h1 Naslov 3. Izpis spremenljivke ali klic metode %h1=link_to “Uredi produkt”, [:edit,@product] 4. Komentar / # To je komentar ... se spremeni v ... <-- # To je komentar --> 5. Class in ID %h1#prvi-naslov.title Zdravo svet! ... se spremeni v ... <h1 id=”prvi-naslov” class=”title”>Zdravo svet!</h1> 6. Zanke - @products.each do |product| # =product 7. Prikaz vsebine =yield :sidebar 8. Nastavljanje vsebin za sidebar - content_for :sidebar do # %h2 Tools Zapiski za Ruby on Rails 3! 4
  • 5. Zapiski za Ruby on Rails 3 ! Oto Brglez # %p List of tools... 6. Debugging Rails / Razhroščevanje 1. Osnove Nameščen mora biti gem “ruby-debug” (sudo gem install ruby-debug) rails server --debugger V vrstici, ki jo razhroščuješ vpišeš debugger Ko pride interpreter do točke bo v konzoli kjer teče strežnik mogoče izvajati razhroščevanje. 2. Izpis trenutne lokacije l p 3. Klic razhroščevalnika iz view-a (HAML) # Strežnik mora biti pognan z rails server --debugger in med gem-i mora biti tudi gem ruby- debug - debugger Zapiski za Ruby on Rails 3! 5