Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
ʮ3%#.4Λ୯ͳΔσʔλετΞͱͯ͠ѻ͏ʯ දࢀಓSCd3BJMTΞϯνύλʔϯd !T@PTB@
Slide 2
Slide 2 text
୭ʁ • OSA Shunsuke • Rails Ͱ Web ΞϓϦέʔγϣϯΛॻ͍͍ͯ·͢ • Working on ΫοΫύουྉཧڭࣨ • ͖ͳ͜ͱɿϞσϦϯά • ΦϒδΣΫτͦͷ૬ޓ࡞༻Λߟ͑Δͷ͕͖ • Twitter: @s_osa_ • GitHub: s-osa
Slide 3
Slide 3 text
͜Μͳ͜ͱͰࠔ͍ͬͯ·ͤΜ͔ʁ
Slide 4
Slide 4 text
Ϧιʔεͷଘࡏ֬ೝ • belongs_to Ͱఆٛ͞Ε͍ͯΔϦιʔεͷଘࡏ֬ೝΛ සൟʹ͍ͯ͠Δ • if article.blog • nil? • blank? • present? • try • &.
Slide 5
Slide 5 text
͔ͭ͠ͳ͍ͣͷϨίʔυ͕ෳ͋Δ • ຊདྷ unique Ͱ͋ΔͣͷΧϥϜ͕ unique ʹͳͬ ͍ͯͳ͍ • ʮFavorite ΛऔΓফ͚ͨ͠Ͳফ͑ͳ͍ʯ • ௐͯΈͨΒ2݅σʔλ͕Ͱ͖͍ͯͯɺยํ͔͠ আ͞Ε͍ͯͳ͔ͬͨ
Slide 6
Slide 6 text
ͳͥ͜Μͳ͜ͱʹʁ
Slide 7
Slide 7 text
Ϧιʔεͷআ • ଞͷϦιʔεʹΑͬͯࢀর͞Ε͍ͯΔϦιʔεΛআ ͯ͠͠·͏ • Rails Ͱ Association ͷఆٛʹ dependent Φϓγϣ ϯΛ͢ͱআ࣌ͷಈ࡞͕ఆٛͰ͖Δ • nullify: ݁ہ nil check ͕ඞཁ • restrict_with_*: ʢ͍ͬͯΔਓΛݟͨ͜ͱ͕ͳ͍ʣ
Slide 8
Slide 8 text
WBMJEBUJPODBMMCBDLΛհ͞ͳ͍σʔλߋ৽ • update_attribute(:column, value) • save(validate: false) • ଞͷΞϓϦέʔγϣϯ • SQL
Slide 9
Slide 9 text
ଟॏੜ • ಉ͡σʔλΛෳճॻ͖ࠐΉͱॏෳσʔλ͕࡞͞ Εͯ͠·͏ • ʮϘλϯ1ճ͚ͩԡ͍ͯͩ͘͠͞ʯ
Slide 10
Slide 10 text
ΞϓϦέʔγϣϯʹόά͕ೖΓ͍͢ • ਓؒؒҧ͑ΔͷͰόάΛੜΜͰ͠·͏ • ΞϓϦέʔγϣϯසൟʹߋ৽͞ΕΔ
Slide 11
Slide 11 text
ΞϓϦέʔγϣϯͰ͛ͳ͍
Slide 12
Slide 12 text
3%#.4ͷ੍Λ͏
Slide 13
Slide 13 text
'03&*(/,&:੍ • ֎෦Ωʔͷࢀরઌ͕ଘࡏ͢Δ͜ͱΛอূ͢Δ • ࢀরઌ͕ଘࡏ͠ͳ͍ϨίʔυΛ INSERT/UPDATE ͨ͠Γɺࢀর͞Ε͍ͯΔϨίʔυΛ DELETE ͢Δ ͱΤϥʔʹͳΔ • Rails 4.2 Ͱαϙʔτ͞ΕΔΑ͏ʹͳͬͨ
Slide 14
Slide 14 text
6/*26&੍ • ࢦఆͨ͠ΧϥϜͷσʔλ͕ҰҙͰ͋Δ͜ͱΛอূ • ॏෳϨίʔυΛൃੜͤ͞ΔΫΤϦΤϥʔ • ֎෦Ωʔʹઃఆ͢Δͱศརͳ͜ͱ͕ଟ͍ • has_one ͞Ε͍ͯΔ֎෦Ωʔʹఆٛͯ͠࠷େ1݅Ͱ͋Δ͜ͱ Λอূ • தؒςʔϒϧͷ֎෦Ωʔʹෳ߹ UNIQUE ੍Λఆٛͯ͠ɺ ಉ͡Έ߹Θͤอଘ͞Εͳ͍Α͏ʹ • users <— favorites —> articles
Slide 15
Slide 15 text
͓·͚ɿͦͷଞͷ੍ • NOT NULL ੍ • σϑΥϧτͰ͚ͭΔ͖ • ϛοΫ͞ΜʹΑΔʮNULLʹ·ͭΘΔॾʯ͕Φεεϝ • http://www.geocities.jp/mickindex/database/idx_database.html • CHECK ੍ • ศར͚ͩͲϨʔϧ͔Β֎Εͯ͠·͏ • schema.rb -> structure.sql • MySQL Ͱ͑ͳ͍
Slide 16
Slide 16 text
੍ʹΑͬͯಘΒΕΔͷ
Slide 17
Slide 17 text
σʔλΛ৴པͰ͖Δ • FOREIGN KEY ੍͕͍͍ͭͯΔ֎෦Ωʔ࣮֬ʹ ؔ࿈ϦιʔεΛͨͲΕΔ • UNIQUE ੍͕͍͍ͭͯΔΧϥϜ࣮֬ʹ unique • nil check Ϩίʔυͷ֬ೝ͕ෆཁʹͳͬͯίʔυ ͕εοΩϦ͢Δ
Slide 18
Slide 18 text
ޡΓʹૣ͘ؾ͚Δ • ෆਖ਼ͳσʔλΛੜ͠Α͏ͱ͢ΔΫΤϦ͕͛ΒΕ ͨΒɺྫ֎ʹΑͬͯͦΕʹؾͮ͘͜ͱ͕Ͱ͖Δ • ҟৗঢ়ଶʹૣ͘ؾ͚ͮݪҼΛಥ͖ࢭΊΔͷ͕༰қ ʹͳΔ • յΕͨσʔλΛදࣔ͢Δͱ͖·ͰҟৗͰ͋Δ͜ͱ ʹؾ͚ͮͳ͍ͱɺͲ͜Ͱੜɾߋ৽͞Εͨͷ͔Λ ௐΔͷେม
Slide 19
Slide 19 text
3%#.4ͱྑͯ͘͠ ָ͘͠ίʔυΛॻ͜͏