EasyRamble は、技術ネタや子育て、英語学習、アウトドアなどについて綴るブログです。Ruby on Rails や Swift などで、Webサービス/アプリを作っています。
![Rails が production 環境で真っ白、SECRET_KEY_BASE 設定忘れが原因でした](https://cdn-ak-scissors.b.st-hatena.com/image/square/b27ba1d703068fc4853ea1271440cbb779e7cabb/height=288;version=1;width=512/https%3A%2F%2Feasyramble.com%2Fwp-content%2Fuploads%2F2016%2F03%2Feasyramble_ogp.jpg)
この記事はRuby on Rails Advent Calendar 2013の6日目の記事です。 前日は @tkawa さんの「Favoriteの設計実装はパターンとして使える」でした。 Railsで適切に責務を分割するということ RailsはいわゆるMVCと呼ばれるアーキテクチャパターンにのっとったフレームワークであり、プロジェクトを作成するとデフォルトでmodels/、views/、controllers/などのディレクトリが作成されます。 基本的にロジックを記述する場所はモデルであり、ビューには表示処理だけを、コントローラにはアプリケーション上必要な手続きだけを記述するべきであると一般的には言われています。*1 ただ、それを忠実に実践していった結果、モデルが肥大化しメンテナンシビリティやテスタビリティが低下するという問題も多く指摘されています。 これについては4日目に @joker
クエリの流れ オプションからSQL文を組み立てる SQLを発行し、データベースからデータを取得する 取得したデータから Rubyオブジェクトを生成する after_find コールバックを呼び出す クエリを行うメソッド Model.take(limit) レコードに格納されている最初の値を取得する。 limit省略時は 1。 Blog.take SELECT "blogs".* FROM "blogs" LIMIT 1 Model.first(limit) 主キーでソートした最初の値を取得する limit省略時は 1。 Blog.first SELECT "blogs".* FROM "blogs" ORDER BY "blogs"."id" ASC LIMIT 1 Model.last(limit) 主キーでソートした最後の値を取得する limit省略時は 1。 Blog.last SE
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く