SlideShare a Scribd company logo
怖いRails
株式会社OCC

Yutaka Kinjo
motivation
GitHub の Contritions のカレンダー好き

埋めたくなる

作ってみたい
の規約怖い
Rails は規約が定められている

規約に沿うことで高速な開発ができる

見えない規約に怯える日々が始まる
とりあえず rails new
$ rails new acscore

何はともあれこのコマンド

開発に必要な一式が生成される

この状態で Github にpush

この状態で heroku にpush

heroku に deploy するときは production の db
は pg にする
とりあずdevise install
$ gem ‘devise’

$ bundle install

$ rails g devise install 

間違ってinstallモデルが生成される(T_T)

$ rails g devise:install 

こっちが正解

config/initialize/deviser.b

config/locales/devise.en.yml
devise 続き
$ rails g devise user 

user model が生成

$ rake db:migrate

devise.rb に secret key を設定

ENV[‘DEVISE_SECRET_KEY’]

heroku 側に secret key を設定

$ heroku config:set DEVISE_SECRET_KEY=
user に紐づくScore
user
score
score
score
score
scaffold しちゃうよね
$ rails g scaffold Score user_id:integer

view/model/controller が生成

migration ファイルもできる

他にもいろいろ生成される怖い!

$ rake db:migrate でテーブル生成
scaffold しちゃうよね
$ rails g scaffold Score user_id:integer

view/model/controller が生成

migration ファイルもできる

他にもいろいろ生成される怖い!

$ rake db:migrate でテーブル生成
user_id が規約
model名_id
Relation
user model

has_many :scores

score model

belongs_to :user

関係性を Rails に教えてあげる

あとは カラムに持っているuser_id で紐付く

current_user.scores

なにそれ怖い!
ここから
home page を作りたい
$ rails g controller home index

home という controller と

views/home/index.html.erb

home controller

before_filter :authenticate_user!

認証していないアクセスは飛ばされる

これは別に怖くない!
結果から
これができた
http://pure-eyrie-5569.herokuapp.com/
https://github.com/yutakakinjyo/acscore
結果から
いや、こうしたい...
まあ、おいおいね
MVC怖い
home controller でやってること

現在の時刻から一ヶ月前を取得

一ヶ月前から現在までの日数を計算

一日ずつ走査してScoreの日付と同様なら+1する

スコアが一定以上なら色をlightgreenにする

最終的に日付と色を view に引き渡す
MVC怖い
home#index view でやってること

controller から渡ってきた配列の数だけtableの列
を生成し、bgcolor を設定する

score model がやってること

なし

どこにどうあるべき?
MVC怖い
score model

日数とスコアの配列を返すべき?

home#index view

必須の配列をスコアから色を計算するべき?

controller

引き渡すだけ?
まとめ
目にみえない規約に怯える毎日

もう書いてさっさと失敗したほうが良さそう
次回
リファクタしてきます!

More Related Content

PDF
Elixir Meetup #1 Loggerの構造と拡張
PDF
Cryogenでサイトつくろーじぇん
PDF
Fission で 始める Containerless Kubernetes #serverlesstokyo
KEY
Gitを使ってみませんか
PDF
Node予備校 vol.1 名古屋
KEY
CMS for Cloud by Ruby
PDF
Re-frame and A-Frame
PDF
AWSをコードで定義する
Elixir Meetup #1 Loggerの構造と拡張
Cryogenでサイトつくろーじぇん
Fission で 始める Containerless Kubernetes #serverlesstokyo
Gitを使ってみませんか
Node予備校 vol.1 名古屋
CMS for Cloud by Ruby
Re-frame and A-Frame
AWSをコードで定義する

What's hot (20)

PDF
How Smalltalker Works
PDF
Clojure の各種React系ラッパーライブラリのサーバーサイドレンダリングの現状について
PDF
Docker+CoreOS+GCEで自動スケール分散レイトレ
PPTX
serverspecを使用したサーバ設定テストの実例
PDF
Sledge recently in Yokohama.pm Aug, 2008
PPT
Gaej Explorer
KEY
Leiningen超速入門
PDF
AWS SDK for Smalltalk
PDF
Gws 20141024 gradle_intro
PPT
Ruby on Rails3 Tutorial Chapter3
PDF
入門ClojureScript
PDF
OCP Meetup Tokyo #05 ECK on OCP
PDF
MackerelAPI使ってみた
PDF
OSSから学ぶSwift実践テクニック
PDF
AlibabaCloudではじめるKubernetes
PDF
Retina対応 CSSスプライトを自動化しよう sprity版(東区フロントエンド勉強会 2015年 第2回) 補足資料
PPT
Scripting Layer for Android + Perl
PPT
Ruby on Rails3 Tutorial Chapter2
PDF
react_rails
PPTX
OpenShift from Easy way to Hard ? Way
How Smalltalker Works
Clojure の各種React系ラッパーライブラリのサーバーサイドレンダリングの現状について
Docker+CoreOS+GCEで自動スケール分散レイトレ
serverspecを使用したサーバ設定テストの実例
Sledge recently in Yokohama.pm Aug, 2008
Gaej Explorer
Leiningen超速入門
AWS SDK for Smalltalk
Gws 20141024 gradle_intro
Ruby on Rails3 Tutorial Chapter3
入門ClojureScript
OCP Meetup Tokyo #05 ECK on OCP
MackerelAPI使ってみた
OSSから学ぶSwift実践テクニック
AlibabaCloudではじめるKubernetes
Retina対応 CSSスプライトを自動化しよう sprity版(東区フロントエンド勉強会 2015年 第2回) 補足資料
Scripting Layer for Android + Perl
Ruby on Rails3 Tutorial Chapter2
react_rails
OpenShift from Easy way to Hard ? Way
Ad

Similar to 怖いRails (20)

PPT
Ruby on Rails Tutorial Chapter5-7
PDF
Rails Controller Fundamentals
PPTX
Tech fun rails_workshop
PDF
Rails初心者レッスン lesson4 2edition
PDF
はじめての Rails アプリ開発
PPTX
テックリンク資料20170529
PDF
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座
PDF
Next GAE Heroku を使って 3分でRailsアプリをリリース
PPT
Ruby on Rails Tutorial Chapter8-10
PDF
Next-L Enju 開発WS #03 Ruby on Railsの使い方
PDF
Ruby on Rails Tutorial
PPTX
フレームワーク品評会 Ruby on Rails #crossjp
PDF
Railsの基礎
PDF
Rails あるある
PPTX
【勉強会】 はじめてのRuby on Rails 4入門
PDF
Railsの開発環境作るぞ
PDF
20191106 railsgirlsfukuoka(アプリ開発サークル)
PDF
Rails初心者レッスン lesson5 2edition
PDF
Rubykansai 81
PDF
ゼロからのプログラミングRails講座 Codeanywhere版
Ruby on Rails Tutorial Chapter5-7
Rails Controller Fundamentals
Tech fun rails_workshop
Rails初心者レッスン lesson4 2edition
はじめての Rails アプリ開発
テックリンク資料20170529
【入門】3時間でアプリ公開!ゼロからのプログラミングRails講座
Next GAE Heroku を使って 3分でRailsアプリをリリース
Ruby on Rails Tutorial Chapter8-10
Next-L Enju 開発WS #03 Ruby on Railsの使い方
Ruby on Rails Tutorial
フレームワーク品評会 Ruby on Rails #crossjp
Railsの基礎
Rails あるある
【勉強会】 はじめてのRuby on Rails 4入門
Railsの開発環境作るぞ
20191106 railsgirlsfukuoka(アプリ開発サークル)
Rails初心者レッスン lesson5 2edition
Rubykansai 81
ゼロからのプログラミングRails講座 Codeanywhere版
Ad

More from Yutaka Kinjyo (13)

PDF
PDF
一度死んだ話
PDF
コーディング入門以前
PDF
Deepsmarts
PDF
会社に Github導入した話
PDF
The dankai
PDF
IeLt2014
PDF
Junit intro
PDF
ちょっと怖くなくったRails
PDF
Rest is 何
PDF
コンテキストと文化
PDF
開発チームのためのコミュニケーションとコンテキストの作り方
PDF
一度死んだ話
コーディング入門以前
Deepsmarts
会社に Github導入した話
The dankai
IeLt2014
Junit intro
ちょっと怖くなくったRails
Rest is 何
コンテキストと文化
開発チームのためのコミュニケーションとコンテキストの作り方

怖いRails