マガジンのカバー画像

Railsに挫折した人のためのSinatra

7
Railsでバックエンドが嫌になってしまった人向けに、Sinatraでの最小アプリケーション作りを通して、アプリケーション作成の導線を学びます。
運営しているクリエイター

記事一覧

Railsで挫折した人のためのSinatra -0-

はじめまして。大学生をしながらエンジニア活動をしていますgariha_と申します。今回noteで初記事ということで、私がインターン先のプログラミングスクールで教えているRubyに関しての記事を投稿させていただきます。 ターゲット層はRailsをバリバリ使いこなしている人や、多言語でゴリゴリにweb開発しているかた以外です。※ちなみにMacユーザーを想定しております もっというと、プログラミングをはじめてHTMLやCSSを覚えて、Rubyをさらっと学習し、Railsに挑もう

Railsで挫折した人のためのSinatra -1-

前回に引き続き記事を読んでくださりありがとうございます。早速、今章からコードを書いていきたいと思います。 今章はRubyの復習と環境構築です。頑張っていきましょう! 前回はコチラ Rubyの復習まず、Rubyがインストールされていることを前提にはじめさせていただきます。 簡単な構文は理解されていると思うので、条件分岐とループにフォーカスしてざっとおさらいしていきましょう。 条件分岐 ここでは詳しい型の分類はしませんが、if文は条件式部分にBooleanというtru

Railsで挫折した人のためのSinatra -2-

はじめてのSinatraさて、前章までで、面倒臭い環境構築も終わり今章からようやくRubyのコードを書いていくことになります。 前回はコチラ 今章からアプリケーションをつくるのですが、具体的にどんなアプリにするかというと、俳句を投稿したり、俳句を評価できるアプリケーションである「easy-haiku」を作っていきます。 「easy-haiku」は俳句一覧+俳句投稿ページと俳句詳細ページを持っています。一度送信した俳句は編集することはできないですが、削除することはできます。

Railsで挫折した人のためのSinatra -3-

コントローラーっぽいのを作る前回はコチラ 前回軽く動かしてみて、かなり簡単にerbファイルを表示できるとわかったと思います。 しかし、最後の部分で課題も見つかりました。 それが、route.rbの肥大化問題です。これを避けるために逃せる記述を機能毎に別ファイルに逃してコントローラーのようなものの実現を目指します。 まず、sinatra-app以下にcontrollersディレクトリを作成してください。 そして、controllers以下に3つのファイルを追加してください

Railsで挫折した人のためのSinatra -4-

DBとの連携前回はコチラ 前回では疑似的なデータで俳句一覧の表示や詳細ページなどを出していましたが、今回からはDBと連携していきます。 sqlite3というgemを使ってSqliteをDBとして使っていきます。 まず、必要なgemをinstallしていきます。 以下の4つをGemfileの一番下に追記してください ... gem "rake"gem "sinatra-contrib"gem "sinatra-activerecord"gem "sqlite3" 次に、

Railsで挫折した人のためのSinatra -5-

新しいテーブルの追加前回はコチラ 今回からログイン機能の追加に入っていきますが、ボリュームがすごいので注意です! ログイン機能を追加するにあたって、ユーザーのデータをDBに保管しなければいけないので、DB設計から確認していきましょう。 現在のDBはテーブルが一つ存在しています。 もちろん、haikusテーブルです。基本的な命名規則としてテーブル名は複数形にすると良いです。 そして、このテーブルは以下の様なカラムで構成されています。 - idカラム integer型 -

Railsで挫折した人のためのSinatra -6-

前回はコチラ 機能の追加と今後のブラッシュアップ 前回まででeasy-haikuが一応の完成を見せました。 しかし、今のままではかっこいいアプリケーションとはとても言えません。 ですので、UIに気を使ったりフロントエンドとバックエンドを完全に分離したり、これからのブラッシュアップはどんどんしたくなるでしょう。 バックエンドのほうでも新しいカラムを追加したりすると思います。 評価機能の追加... といっていたら思い出したのですが、冒頭で俳句を評価する機能をつけると言って