際際滷

際際滷Share a Scribd company logo
BIWEEKLY LECTURE
THIS IS RAILS STYLE GUIDE 2
@pureugong
磯 貊 貎朱Μ
襷願係伎
觀
蟲
覃朱
螳
覯る
磯 貊 貎朱Μ
(ACTIVERECORD QUERIES)
SQL injection 螻糾鴬 豬渚  朱襦, 貎朱Μ 覓語
覲願(string interpolation) 讌 .
#   - 企 襷り覲讌 れ願  
Client.where("orders_count = #{params[:orders]}")
# 譬  -  襷り覲襷 れ願  
Client.where('orders_count = ?', params[:orders])
貎朱Μ  伎 伎ろ襯   豺襦 蟲覿
 伎ろ  企 覿 .
# 蟯谿 
Client.where(
'created_at >= ? AND created_at <= ?',
params[:start_date], params[:end_date]
)
# 譬 
Client.where(
'created_at >= :start_date AND created_at <= :end_date',
start_date: params[:start_date], end_date: params[:end_date]
)
id襯 牛  螳 譟壱  where覲企 find襯 
.
#  
User.where(id: id).take
# 譬 
User.find(id)
轟 煙 牛  螳 譟壱  where覲企
find_by襯 .
#  
# => ActiveRecord::Relation
User.where(first_name: 'Bruce', last_name: 'Wayne').first
# 譬 
User.find_by(first_name: 'Bruce', last_name: 'Wayne')
襷 貊  企  伎狩る find_each襯
.
#   - 覈 一危磯ゼ  覯 曙伎.
# users 企 豌螳  螳讌螻 る 襷れ 觜企.
User.all.each do |user|
NewsMailer.weekly(user).deliver_now
end
# 譬  - 覦一(batch)  貊襯 螳語.
User.find_each do |user|
NewsMailer.weekly(user).deliver_now
end
SQL 讌 蠍磯慨 'where.not' .
#  
User.where("id != ?", id)
# 譬 
User.where.not(id: id)
襷願係伎(MIGRATIONS)
schema.rb( structure.sql) 殊 VCS(覯
蟯襴 ろ) .
觜 database襯 豐蠍壱  rake db:migrate
rake db:schema:load襯 .
蠍磯蓋 れ 螳れ 襴貅伎 讌蠍磯慨, 襷願係
 豌伎 .
#   - 襴貅伎 蠍磯蓋れ 螳 讌 
def amount
self[:amount] or 0
end
企 蠍磯蓋 れ 螳 殊 襴貅伎襷 讌
蟆 襷 殊 螳覦れ  覦覯伎襷, 企 一危
襯 襷 危襴貅伎 覯蠏語 語る 譯 覿 蠏
覦覯企. 蠏碁Μ螻 覿覿 譴 襴貅伎れ 
一危磯伎るゼ るジ 襴貅伎螻 螻旧蠍 覓語, 殊
襴貅伎 牛 一危 覓願屋煙 覲伎ロ 蟆 覿螳ロ
る れ 螻ろ伎狩.
碁 曙 . 殊 4.2覿 磯 貊 
 曙 蠍磯蓋朱 讌.
(企企 貉殊 豢螳) 蟲譟一 襷願係伎 
  up螻 down覃  change覃襯 
.
#  覦
class AddNameToPeople < ActiveRecord::Migration
def up
add_column :people, :name, :string
end
def down
remove_column :people, :name
end
end
# 襦 覦
class AddNameToPeople < ActiveRecord::Migration
def change
add_column :people, :name, :string
end
end
襷願係伎 覈 企るゼ 讌 . 覈 企
るれ 螻伎 覲蠍 覓語, 襷願係伎  覈
語 覲蟆 覃 襷願係伎  朱 讌
  .
觀(VIEWS)
觀一 讌朱 覈語 讌 .
觀一  覲旧″ 襷訣 襷れ 襷螻, 企 襷訣
觀  覃 覈碁 覿襴.
覿覿 襴(partial template)螻 伎 伎 貊
譴覲旧 譴碁.
蟲(INTERNATIONALIZATION)
觀, 覈, 貉碁, 讌(locale) 蟯 れ企 覓語
 覦襦 讌 . 企 覓語企れ
config/locales磯Μ  襦貅 朱 蟆 蟯
襴.
磯 貊 覈語 企  覯  
'activerecord'  燕.
en:
activerecord:
models:
user: Member
attributes:
user:
name: 'Full name'
  User.model_name.human Member襯 覦螻
User.human_attribute_name("name") "Full
name" 覦. 企 焔れ  覯 觀一 企
襦 .
觀一  磯 貊 焔れ  覯 覿襴
. models磯Μ 覈語  襦貅 朱れ ロ
螻, 觀一  ろ碁 views ロ.
襦貅(locale) 朱れ  豺 ロ蠍  
襴襯 豢螳襦 襷れる,  朱れ 曙企れ  襦
application.rb殊 れ伎 .
# config/application.rb
config.i18n.load_path += dir[rails.root.join('config', 'locales', '**'
讌 牛 螻 螳 螻旧伎    讌 旧
れ locale覦襦  ロ.
i18n 讌ъ  覃襯 . i18n.translate
=> i18n.ti18n.localize=> i18n.l
觀一  ろ語  蟆朱ジ 谿語^(lazy lookup)襯
. 蟆朱ジ 谿語^ 覯 ろ語 蟲譟磯ゼ 觀 磯Μ 蟲
譟一 螳蟆 , 觀一 螳 覯 ろ碁ゼ 谿語^ 覦覯
. 襯 れ れ螻 螳 蟲譟郁 り .
en:
users:
show:
title: 'user details page'
users.show.title 螳
app/views/users/show.html.haml襴酔 れ
螻 螳   .
= t '.title'
貉碁, 覈語 :scope旧 蠍磯慨, 朱
覿襴 るゼ . 所鍵 所 螻豸 蟲譟磯ゼ 蠍磯 
.
#  
I18n.t :record_invalid, :scope => [:activerecord, :errors, :messages
# 譬 
I18n.t 'activerecord.errors.messages.record_invalid'
殊 I18n螻 蟯  誤 覲企
襯 谿瑚.
殊 螳企(Rails
Guides)
 (ASSETS)
 . 企 襴貅伎 覦壱 
  朱れ 譟一伎 蟆企.
貉れろ ろ殊, 覦ろ襴渚, 企語 app/assets
磯Μ  ロ.
襴貅伎 讌  讌 燕 殊企襴れ
lib/assets ロ.
 危殊
  螳  殊企襴
vendor/assets .
螳ロる 朱 襷れ伎  (襯 れ,
, , ,
).
jQuery bootstrap
jquery-rails jquery-ui-rails bootstrap-sass zurb-
foundation
覃朱(MAILERS)
覃朱 企 'SomethingMailer'  磯ジ. 企
覩語螳 る 覃朱 企れ語 覦襦 蠍郁 企糾,
企 觀一 郁屋 讌 谿場願鍵 企給.
HTML螻 ろ(plain text) 蠍磯  螳讌 襴酔 螳螳 譴
觜.
谿語^
螳覦 蟆曙 覃 ′ ろ覃 螳 覦襦 れ
.
蠍磯蓋 れ 螳 螳 覦讌 襦 れ .
# config/environments/development.rb
config.action_mailer.raise_delivery_errors = true
螳覦 蟆曙  螳 襦貉 SMTP 覯襯 
.
Mailcatcher
# config/environments/development.rb
config.action_mailer.smtp_settings = {
address: 'localhost',
port: 1025,
# more settings
}
語ろ語 企 蠍磯蓋 れ 螳 讌.
# config/environments/development.rb
config.action_mailer.default_url_options = { host: "#{local_ip}:3000"
# config/environments/production.rb
config.action_mailer.default_url_options = { host: 'your_site.com' }
# 覃朱 企  れ
default_url_options[:host] = 'your_site.com'
企殊 危語 襷襯 j 矩る _path _url覃
襯 . _url覃 語ろ 企 螳 覦
螻, _path覃 蠏碁讌 .
#  
# /coures
You can always find more info about this course
<%= link_to 'here', course_path(@course) %>
# 譬 
# http://localhost:3000/courses
You can always find more info about this course
<%= link_to 'here', course_url(@course) %>
覲企企 (from)螻 覦 (to) 企  蟆
讌. れ  磯ジ.
# 覃朱 企  れ
default from: 'Your Name <info@your_site.com>'
ろ 蟆曙 企  覃襯 test襦 れ.
# config/environments/test.rb
config.action_mailer.delivery_method = :test
螳覦 覦 覦壱 蟆曙 企  覃螳 smtp襦 れ
 伎 .
# config/environments/development.rb, config/environments/production.rb
config.action_mailer.delivery_method = :smtp
html  企殊 ″ , 朱 企殊伎誤語 碁
ろ殊碁ゼ 谿語^  覓語螳 覦  蠍 覓語 css
覈 碁殊語朱 焔伎 . 讌襷 碁殊 ろ殊 
覃 讌覲伎螳 り 貊 譴覲旧 覦蟆 . ろ
螻 html 朱 蟆壱伎朱   螳讌  譟伎
.  .premailer-rails roadie
貉碁, 豌  旧 豌襴 譴 企殊
覲企伎  . 企 伎 襦 讌一り,  覃
  覦″     . 企 ′
螻 螳 覦炎係殊企  讌   企
伎語 .
sidekiq
螳(TIME)
application.rb 譟伎  れ.
config.time_zone = 'Eastern European Time'
#  旧 :utc :local襷 讌  . (蠍磯蓋 れ 螳 :utc)
config.active_record.default_timezone = :local
Time.parse襯 讌 .
#  
Time.parse('2015-03-02 19:05:37')
# =>  覃 ろ 譟伎 螳 譯殊伎 蟆朱 螳
# 譬 
Time.zone.parse('2015-03-02 19:05:37')
# => Mon, 02 Mar 2015 19:05:37 EET +02:00
Time.now襯 讌 .
#  
Time.now # => 譟 れ螻 覓願蟆 ろ 螳 覦
# 譬 
Time.zone.now # => Fri, 12 Mar 2014 22:04:47 EET +02:00
Time.current #  螳讌襷  讌ъ 覦覯

More Related Content

What's hot (11)

[蟲觜讌蟲/讌/れ蠍蟲/ITる危豢豌/ろ襷蟲′豌]#5.ろ襷 & 襷企一 (Spring Framework, M...
[蟲觜讌蟲/讌/れ蠍蟲/ITる危豢豌/ろ襷蟲′豌]#5.ろ襷 & 襷企一 (Spring Framework, M...[蟲觜讌蟲/讌/れ蠍蟲/ITる危豢豌/ろ襷蟲′豌]#5.ろ襷 & 襷企一 (Spring Framework, M...
[蟲觜讌蟲/讌/れ蠍蟲/ITる危豢豌/ろ襷蟲′豌]#5.ろ襷 & 襷企一 (Spring Framework, M...
襴(蟲襦讌碁讌3覯豢蟲 2覿蟇磯Μ)
.NET Webservice for MySQL
.NET Webservice for MySQL.NET Webservice for MySQL
.NET Webservice for MySQL
I Goo Lee
Spring MVC
Spring MVCSpring MVC
Spring MVC
ymtech
[NEXT] Andorid MVC 蠍
[NEXT] Andorid MVC  蠍[NEXT] Andorid MVC  蠍
[NEXT] Andorid MVC 蠍
YoungSu Son
=求梶 ==梶 Spring framework
=求梶 ==梶 Spring framework=求梶 ==梶 Spring framework
=求梶 ==梶 Spring framework
Haeil Yi
Angular js quick start
Angular js quick startAngular js quick start
Angular js quick start
蠍 蟾
E government framework
E government frameworkE government framework
E government framework
HyungKuIm
#33.ろ襷 & 襷企一 (Spring Framework, MyBatis)_ろ襷 螳譬, 讌蠍蟲,れ蟲觜讌...
#33.ろ襷 & 襷企一 (Spring Framework, MyBatis)_ろ襷 螳譬, 讌蠍蟲,れ蟲觜讌...#33.ろ襷 & 襷企一 (Spring Framework, MyBatis)_ろ襷 螳譬, 讌蠍蟲,れ蟲觜讌...
#33.ろ襷 & 襷企一 (Spring Framework, MyBatis)_ろ襷 螳譬, 讌蠍蟲,れ蟲觜讌...
襴(蟲襦讌碁讌3覯豢蟲 2覿蟇磯Μ)
Spring mvc
Spring mvcSpring mvc
Spring mvc
ksain
04.ろ蟆 れ糾(覃伎襴)
04.ろ蟆 れ糾(覃伎襴)04.ろ蟆 れ糾(覃伎襴)
04.ろ蟆 れ糾(覃伎襴)
Hankyo
ろ襷 貊 螳 3覿 - 襴貅伎 ろ豌
ろ襷 貊 螳 3覿 -  襴貅伎 ろ豌 ろ襷 貊 螳 3覿 -  襴貅伎 ろ豌
ろ襷 貊 螳 3覿 - 襴貅伎 ろ豌
Sungchul Park
[蟲觜讌蟲/讌/れ蠍蟲/ITる危豢豌/ろ襷蟲′豌]#5.ろ襷 & 襷企一 (Spring Framework, M...
[蟲觜讌蟲/讌/れ蠍蟲/ITる危豢豌/ろ襷蟲′豌]#5.ろ襷 & 襷企一 (Spring Framework, M...[蟲觜讌蟲/讌/れ蠍蟲/ITる危豢豌/ろ襷蟲′豌]#5.ろ襷 & 襷企一 (Spring Framework, M...
[蟲觜讌蟲/讌/れ蠍蟲/ITる危豢豌/ろ襷蟲′豌]#5.ろ襷 & 襷企一 (Spring Framework, M...
襴(蟲襦讌碁讌3覯豢蟲 2覿蟇磯Μ)
.NET Webservice for MySQL
.NET Webservice for MySQL.NET Webservice for MySQL
.NET Webservice for MySQL
I Goo Lee
Spring MVC
Spring MVCSpring MVC
Spring MVC
ymtech
[NEXT] Andorid MVC 蠍
[NEXT] Andorid MVC  蠍[NEXT] Andorid MVC  蠍
[NEXT] Andorid MVC 蠍
YoungSu Son
=求梶 ==梶 Spring framework
=求梶 ==梶 Spring framework=求梶 ==梶 Spring framework
=求梶 ==梶 Spring framework
Haeil Yi
Angular js quick start
Angular js quick startAngular js quick start
Angular js quick start
蠍 蟾
E government framework
E government frameworkE government framework
E government framework
HyungKuIm
#33.ろ襷 & 襷企一 (Spring Framework, MyBatis)_ろ襷 螳譬, 讌蠍蟲,れ蟲觜讌...
#33.ろ襷 & 襷企一 (Spring Framework, MyBatis)_ろ襷 螳譬, 讌蠍蟲,れ蟲觜讌...#33.ろ襷 & 襷企一 (Spring Framework, MyBatis)_ろ襷 螳譬, 讌蠍蟲,れ蟲觜讌...
#33.ろ襷 & 襷企一 (Spring Framework, MyBatis)_ろ襷 螳譬, 讌蠍蟲,れ蟲觜讌...
襴(蟲襦讌碁讌3覯豢蟲 2覿蟇磯Μ)
Spring mvc
Spring mvcSpring mvc
Spring mvc
ksain
04.ろ蟆 れ糾(覃伎襴)
04.ろ蟆 れ糾(覃伎襴)04.ろ蟆 れ糾(覃伎襴)
04.ろ蟆 れ糾(覃伎襴)
Hankyo
ろ襷 貊 螳 3覿 - 襴貅伎 ろ豌
ろ襷 貊 螳 3覿 -  襴貅伎 ろ豌 ろ襷 貊 螳 3覿 -  襴貅伎 ろ豌
ろ襷 貊 螳 3覿 - 襴貅伎 ろ豌
Sungchul Park

Similar to Rails style-guide-2 (20)

れ DataSnap!
れ DataSnap!れ DataSnap!
れ DataSnap!
Devgear
Web_06_Ruby On Rails ()
Web_06_Ruby On Rails ()Web_06_Ruby On Rails ()
Web_06_Ruby On Rails ()
team air @ Dimigo
=求メ 梶=梶 求≡=
=求メ 梶=梶 求≡= =求メ 梶=梶 求≡=
=求メ 梶=梶 求≡=
Yong Joon Moon
[ろ襷 ろ磯 1殊姶] 襴
[ろ襷 ろ磯 1殊姶] 襴[ろ襷 ろ磯 1殊姶] 襴
[ろ襷 ろ磯 1殊姶] 襴
AnselmKim
2014-15 Intermediate C++ Study #7
2014-15 Intermediate C++ Study #72014-15 Intermediate C++ Study #7
2014-15 Intermediate C++ Study #7
Chris Ohk
Itcookbook Asp Chapter2
Itcookbook Asp Chapter2Itcookbook Asp Chapter2
Itcookbook Asp Chapter2
xyzlee
螳覦 誤启Μ / 蠍 蟆
  螳覦 誤启Μ / 蠍 蟆  螳覦 誤启Μ / 蠍 蟆
螳覦 誤启Μ / 蠍 蟆
hyeonjae Cheon
[HaU] 蠍一 覃伎 譴觜 java
[HaU]  蠍一 覃伎 譴觜 java[HaU]  蠍一 覃伎 譴觜 java
[HaU] 蠍一 覃伎 譴觜 java
Isomorphicspring Isomorphic - spring web seminar 2015
Isomorphicspring Isomorphic - spring web seminar 2015Isomorphicspring Isomorphic - spring web seminar 2015
Isomorphicspring Isomorphic - spring web seminar 2015
sung yong jung
HeadFisrt Servlet&JSP Chapter 3
HeadFisrt Servlet&JSP Chapter 3HeadFisrt Servlet&JSP Chapter 3
HeadFisrt Servlet&JSP Chapter 3
J B
Angular 2 rc5 譟一
Angular 2 rc5 譟一Angular 2 rc5 譟一
Angular 2 rc5 譟一
Rjs Ryu
殊るゼ 伎 螳覦 螳企
殊るゼ 伎   螳覦 螳企殊るゼ 伎   螳覦 螳企
殊るゼ 伎 螳覦 螳企
Sukjoon Kim
Scala, Spring-Boot, JPA 覿ク覃伎 讀蟇一 蟇
Scala, Spring-Boot, JPA 覿ク覃伎 讀蟇一 蟇Scala, Spring-Boot, JPA 覿ク覃伎 讀蟇一 蟇
Scala, Spring-Boot, JPA 覿ク覃伎 讀蟇一 蟇
Javajigi Jaesung
ER/Studio襯 一危 譴 ろ 蟲豢覦
ER/Studio襯  一危 譴 ろ 蟲豢覦ER/Studio襯  一危 譴 ろ 蟲豢覦
ER/Studio襯 一危 譴 ろ 蟲豢覦
Devgear
Daejeon IT Developer Conference Hibernate3
Daejeon IT Developer Conference Hibernate3Daejeon IT Developer Conference Hibernate3
Daejeon IT Developer Conference Hibernate3
plusperson
Daejeon IT Developer Conference iBATIS2
Daejeon IT Developer Conference iBATIS2Daejeon IT Developer Conference iBATIS2
Daejeon IT Developer Conference iBATIS2
plusperson
Golang Project Guide from A to Z: From Feature Development to Enterprise Appl...
Golang Project Guide from A to Z: From Feature Development to Enterprise Appl...Golang Project Guide from A to Z: From Feature Development to Enterprise Appl...
Golang Project Guide from A to Z: From Feature Development to Enterprise Appl...
Kyuhyun Byun
危磯 C++ 789 螻給
危磯 C++ 789 螻給危磯 C++ 789 螻給
危磯 C++ 789 螻給
quxn6
覲企 觜襯 SQL螻 覿 襦
覲企 觜襯 SQL螻 覿  襦 覲企 觜襯 SQL螻 覿  襦
覲企 觜襯 SQL螻 覿 襦
Devgear
れ DataSnap!
れ DataSnap!れ DataSnap!
れ DataSnap!
Devgear
=求メ 梶=梶 求≡=
=求メ 梶=梶 求≡= =求メ 梶=梶 求≡=
=求メ 梶=梶 求≡=
Yong Joon Moon
[ろ襷 ろ磯 1殊姶] 襴
[ろ襷 ろ磯 1殊姶] 襴[ろ襷 ろ磯 1殊姶] 襴
[ろ襷 ろ磯 1殊姶] 襴
AnselmKim
2014-15 Intermediate C++ Study #7
2014-15 Intermediate C++ Study #72014-15 Intermediate C++ Study #7
2014-15 Intermediate C++ Study #7
Chris Ohk
Itcookbook Asp Chapter2
Itcookbook Asp Chapter2Itcookbook Asp Chapter2
Itcookbook Asp Chapter2
xyzlee
螳覦 誤启Μ / 蠍 蟆
  螳覦 誤启Μ / 蠍 蟆  螳覦 誤启Μ / 蠍 蟆
螳覦 誤启Μ / 蠍 蟆
hyeonjae Cheon
[HaU] 蠍一 覃伎 譴觜 java
[HaU]  蠍一 覃伎 譴觜 java[HaU]  蠍一 覃伎 譴觜 java
[HaU] 蠍一 覃伎 譴觜 java
Isomorphicspring Isomorphic - spring web seminar 2015
Isomorphicspring Isomorphic - spring web seminar 2015Isomorphicspring Isomorphic - spring web seminar 2015
Isomorphicspring Isomorphic - spring web seminar 2015
sung yong jung
HeadFisrt Servlet&JSP Chapter 3
HeadFisrt Servlet&JSP Chapter 3HeadFisrt Servlet&JSP Chapter 3
HeadFisrt Servlet&JSP Chapter 3
J B
Angular 2 rc5 譟一
Angular 2 rc5 譟一Angular 2 rc5 譟一
Angular 2 rc5 譟一
Rjs Ryu
殊るゼ 伎 螳覦 螳企
殊るゼ 伎   螳覦 螳企殊るゼ 伎   螳覦 螳企
殊るゼ 伎 螳覦 螳企
Sukjoon Kim
Scala, Spring-Boot, JPA 覿ク覃伎 讀蟇一 蟇
Scala, Spring-Boot, JPA 覿ク覃伎 讀蟇一 蟇Scala, Spring-Boot, JPA 覿ク覃伎 讀蟇一 蟇
Scala, Spring-Boot, JPA 覿ク覃伎 讀蟇一 蟇
Javajigi Jaesung
ER/Studio襯 一危 譴 ろ 蟲豢覦
ER/Studio襯  一危 譴 ろ 蟲豢覦ER/Studio襯  一危 譴 ろ 蟲豢覦
ER/Studio襯 一危 譴 ろ 蟲豢覦
Devgear
Daejeon IT Developer Conference Hibernate3
Daejeon IT Developer Conference Hibernate3Daejeon IT Developer Conference Hibernate3
Daejeon IT Developer Conference Hibernate3
plusperson
Daejeon IT Developer Conference iBATIS2
Daejeon IT Developer Conference iBATIS2Daejeon IT Developer Conference iBATIS2
Daejeon IT Developer Conference iBATIS2
plusperson
Golang Project Guide from A to Z: From Feature Development to Enterprise Appl...
Golang Project Guide from A to Z: From Feature Development to Enterprise Appl...Golang Project Guide from A to Z: From Feature Development to Enterprise Appl...
Golang Project Guide from A to Z: From Feature Development to Enterprise Appl...
Kyuhyun Byun
危磯 C++ 789 螻給
危磯 C++ 789 螻給危磯 C++ 789 螻給
危磯 C++ 789 螻給
quxn6
覲企 觜襯 SQL螻 覿 襦
覲企 觜襯 SQL螻 覿  襦 覲企 觜襯 SQL螻 覿  襦
覲企 觜襯 SQL螻 覿 襦
Devgear

Rails style-guide-2

  • 1. BIWEEKLY LECTURE THIS IS RAILS STYLE GUIDE 2 @pureugong
  • 3. 磯 貊 貎朱Μ (ACTIVERECORD QUERIES) SQL injection 螻糾鴬 豬渚 朱襦, 貎朱Μ 覓語 覲願(string interpolation) 讌 . # - 企 襷り覲讌 れ願 Client.where("orders_count = #{params[:orders]}") # 譬 - 襷り覲襷 れ願 Client.where('orders_count = ?', params[:orders])
  • 4. 貎朱Μ 伎 伎ろ襯 豺襦 蟲覿 伎ろ 企 覿 . # 蟯谿 Client.where( 'created_at >= ? AND created_at <= ?', params[:start_date], params[:end_date] ) # 譬 Client.where( 'created_at >= :start_date AND created_at <= :end_date', start_date: params[:start_date], end_date: params[:end_date] )
  • 5. id襯 牛 螳 譟壱 where覲企 find襯 . # User.where(id: id).take # 譬 User.find(id)
  • 6. 轟 煙 牛 螳 譟壱 where覲企 find_by襯 . # # => ActiveRecord::Relation User.where(first_name: 'Bruce', last_name: 'Wayne').first # 譬 User.find_by(first_name: 'Bruce', last_name: 'Wayne')
  • 7. 襷 貊 企 伎狩る find_each襯 . # - 覈 一危磯ゼ 覯 曙伎. # users 企 豌螳 螳讌螻 る 襷れ 觜企. User.all.each do |user| NewsMailer.weekly(user).deliver_now end # 譬 - 覦一(batch) 貊襯 螳語. User.find_each do |user| NewsMailer.weekly(user).deliver_now end
  • 8. SQL 讌 蠍磯慨 'where.not' . # User.where("id != ?", id) # 譬 User.where.not(id: id)
  • 9. 襷願係伎(MIGRATIONS) schema.rb( structure.sql) 殊 VCS(覯 蟯襴 ろ) . 觜 database襯 豐蠍壱 rake db:migrate rake db:schema:load襯 .
  • 10. 蠍磯蓋 れ 螳れ 襴貅伎 讌蠍磯慨, 襷願係 豌伎 . # - 襴貅伎 蠍磯蓋れ 螳 讌 def amount self[:amount] or 0 end
  • 11. 企 蠍磯蓋 れ 螳 殊 襴貅伎襷 讌 蟆 襷 殊 螳覦れ 覦覯伎襷, 企 一危 襯 襷 危襴貅伎 覯蠏語 語る 譯 覿 蠏 覦覯企. 蠏碁Μ螻 覿覿 譴 襴貅伎れ 一危磯伎るゼ るジ 襴貅伎螻 螻旧蠍 覓語, 殊 襴貅伎 牛 一危 覓願屋煙 覲伎ロ 蟆 覿螳ロ る れ 螻ろ伎狩.
  • 12. 碁 曙 . 殊 4.2覿 磯 貊 曙 蠍磯蓋朱 讌. (企企 貉殊 豢螳) 蟲譟一 襷願係伎 up螻 down覃 change覃襯 .
  • 13. # 覦 class AddNameToPeople < ActiveRecord::Migration def up add_column :people, :name, :string end def down remove_column :people, :name end end
  • 14. # 襦 覦 class AddNameToPeople < ActiveRecord::Migration def change add_column :people, :name, :string end end
  • 15. 襷願係伎 覈 企るゼ 讌 . 覈 企 るれ 螻伎 覲蠍 覓語, 襷願係伎 覈 語 覲蟆 覃 襷願係伎 朱 讌 .
  • 16. 觀(VIEWS) 觀一 讌朱 覈語 讌 . 觀一 覲旧″ 襷訣 襷れ 襷螻, 企 襷訣 觀 覃 覈碁 覿襴. 覿覿 襴(partial template)螻 伎 伎 貊 譴覲旧 譴碁.
  • 17. 蟲(INTERNATIONALIZATION) 觀, 覈, 貉碁, 讌(locale) 蟯 れ企 覓語 覦襦 讌 . 企 覓語企れ config/locales磯Μ 襦貅 朱 蟆 蟯 襴. 磯 貊 覈語 企 覯 'activerecord' 燕.
  • 18. en: activerecord: models: user: Member attributes: user: name: 'Full name' User.model_name.human Member襯 覦螻 User.human_attribute_name("name") "Full name" 覦. 企 焔れ 覯 觀一 企 襦 .
  • 19. 觀一 磯 貊 焔れ 覯 覿襴 . models磯Μ 覈語 襦貅 朱れ ロ 螻, 觀一 ろ碁 views ロ.
  • 20. 襦貅(locale) 朱れ 豺 ロ蠍 襴襯 豢螳襦 襷れる, 朱れ 曙企れ 襦 application.rb殊 れ伎 . # config/application.rb config.i18n.load_path += dir[rails.root.join('config', 'locales', '**'
  • 21. 讌 牛 螻 螳 螻旧伎 讌 旧 れ locale覦襦 ロ. i18n 讌ъ 覃襯 . i18n.translate => i18n.ti18n.localize=> i18n.l
  • 22. 觀一 ろ語 蟆朱ジ 谿語^(lazy lookup)襯 . 蟆朱ジ 谿語^ 覯 ろ語 蟲譟磯ゼ 觀 磯Μ 蟲 譟一 螳蟆 , 觀一 螳 覯 ろ碁ゼ 谿語^ 覦覯 . 襯 れ れ螻 螳 蟲譟郁 り . en: users: show: title: 'user details page'
  • 24. 貉碁, 覈語 :scope旧 蠍磯慨, 朱 覿襴 るゼ . 所鍵 所 螻豸 蟲譟磯ゼ 蠍磯 . # I18n.t :record_invalid, :scope => [:activerecord, :errors, :messages # 譬 I18n.t 'activerecord.errors.messages.record_invalid' 殊 I18n螻 蟯 誤 覲企 襯 谿瑚. 殊 螳企(Rails Guides)
  • 25. (ASSETS) . 企 襴貅伎 覦壱 朱れ 譟一伎 蟆企. 貉れろ ろ殊, 覦ろ襴渚, 企語 app/assets 磯Μ ロ. 襴貅伎 讌 讌 燕 殊企襴れ lib/assets ロ. 危殊
  • 26. 殊企襴 vendor/assets . 螳ロる 朱 襷れ伎 (襯 れ, , , , ). jQuery bootstrap jquery-rails jquery-ui-rails bootstrap-sass zurb- foundation
  • 27. 覃朱(MAILERS) 覃朱 企 'SomethingMailer' 磯ジ. 企 覩語螳 る 覃朱 企れ語 覦襦 蠍郁 企糾, 企 觀一 郁屋 讌 谿場願鍵 企給. HTML螻 ろ(plain text) 蠍磯 螳讌 襴酔 螳螳 譴 觜. 谿語^
  • 28. 螳覦 蟆曙 覃 ′ ろ覃 螳 覦襦 れ . 蠍磯蓋 れ 螳 螳 覦讌 襦 れ . # config/environments/development.rb config.action_mailer.raise_delivery_errors = true
  • 29. 螳覦 蟆曙 螳 襦貉 SMTP 覯襯 . Mailcatcher # config/environments/development.rb config.action_mailer.smtp_settings = { address: 'localhost', port: 1025, # more settings }
  • 30. 語ろ語 企 蠍磯蓋 れ 螳 讌. # config/environments/development.rb config.action_mailer.default_url_options = { host: "#{local_ip}:3000" # config/environments/production.rb config.action_mailer.default_url_options = { host: 'your_site.com' } # 覃朱 企 れ default_url_options[:host] = 'your_site.com'
  • 31. 企殊 危語 襷襯 j 矩る _path _url覃 襯 . _url覃 語ろ 企 螳 覦 螻, _path覃 蠏碁讌 . # # /coures You can always find more info about this course <%= link_to 'here', course_path(@course) %> # 譬 # http://localhost:3000/courses You can always find more info about this course <%= link_to 'here', course_url(@course) %>
  • 32. 覲企企 (from)螻 覦 (to) 企 蟆 讌. れ 磯ジ. # 覃朱 企 れ default from: 'Your Name <info@your_site.com>'
  • 33. ろ 蟆曙 企 覃襯 test襦 れ. # config/environments/test.rb config.action_mailer.delivery_method = :test
  • 34. 螳覦 覦 覦壱 蟆曙 企 覃螳 smtp襦 れ 伎 . # config/environments/development.rb, config/environments/production.rb config.action_mailer.delivery_method = :smtp
  • 35. html 企殊 ″ , 朱 企殊伎誤語 碁 ろ殊碁ゼ 谿語^ 覓語螳 覦 蠍 覓語 css 覈 碁殊語朱 焔伎 . 讌襷 碁殊 ろ殊 覃 讌覲伎螳 り 貊 譴覲旧 覦蟆 . ろ 螻 html 朱 蟆壱伎朱 螳讌 譟伎 . .premailer-rails roadie
  • 36. 貉碁, 豌 旧 豌襴 譴 企殊 覲企伎 . 企 伎 襦 讌一り, 覃 覦″ . 企 ′ 螻 螳 覦炎係殊企 讌 企 伎語 . sidekiq
  • 37. 螳(TIME) application.rb 譟伎 れ. config.time_zone = 'Eastern European Time' # 旧 :utc :local襷 讌 . (蠍磯蓋 れ 螳 :utc) config.active_record.default_timezone = :local
  • 38. Time.parse襯 讌 . # Time.parse('2015-03-02 19:05:37') # => 覃 ろ 譟伎 螳 譯殊伎 蟆朱 螳 # 譬 Time.zone.parse('2015-03-02 19:05:37') # => Mon, 02 Mar 2015 19:05:37 EET +02:00
  • 39. Time.now襯 讌 . # Time.now # => 譟 れ螻 覓願蟆 ろ 螳 覦 # 譬 Time.zone.now # => Fri, 12 Mar 2014 22:04:47 EET +02:00 Time.current # 螳讌襷 讌ъ 覦覯