はじめに
この記事は、Qiita Advent Calendar 23日目の記事です。
以下の記事より、すべての記事をご覧になれます。
筆者について
- 現在高校2年生
- 水泳部マネージャー
- 生徒会長
- とある団体の代表
本編
僕自身普段からRubyを触ることは全くないんですが、これを機会に触ってみることにしました。
①インストール
ruby --version
#ruby 3.2.2 (2023-03-30 revision e51014f9c0) [arm64-darwin23]
gem install rails
さて、「よし、これでやっと触れる!」と思ってみたのですが…。
rails
#Rails is not currently installed on this system. To get the latest version, simply type:
#
# $ sudo gem install rails
#You can then rerun your "rails" command.
ということで、とりあえずQiitaで調べてみると、hashが原因らしく、以下のコードを実行すると直すことができました!
hash -r
rails -v
#Rails 7.1.2
さて、続きをやっていきましょう!
②プロジェクトの作成
プロジェクトの名前はあまり気にしないでください。とりあえず、実行してみましょう!
rails new prv_pg_ruby-on-rails
#長いので割愛
cd prv_pg_ru*
bin/rails server
見事下のような画面が出てきたら成功です。
続きをやっていきましょうか。
③Helloを表示できるようにする。
Routeを追記します。
Rails.application.routes.draw do
# Define your application routes per the DSL in https://guides.rubyonrails.org/routing.html
# Reveal health status on /up that returns 200 if the app boots with no exceptions, otherwise 500.
# Can be used by load balancers and uptime monitors to verify that the app is live.
get "up" => "rails/health#show", as: :rails_health_check
+ get "/articles", to: "articles#index"
# Defines the root path route ("/")
# root "posts#index"
end
Contlolerを作成します。
bin/rails generate controller Articles index --skip-routes
続いて、/app/views/articles/index.html/erbを編集します。
- <h1>Articles#index</h1>
- <p>Find me in app/views/articles/index.html.erb</p>
+ <h1>Hello, Rails!</h1>
これで、http://[::1]:3000/articlesにアクセスしてみましょう、見事にHello Railsが表示されています。
ここまでやってみて好きだったところ
まず、個人的に/config/routes.rbの書き方がとても好きでした。DjangoだとメソッドはViewのデコーレーターで表現するものですから、それに比べるととても直感的です。
@api_view(['POST'])
def postMet(request):
return JsonResponse({test:test})
ルートの書き方が直感的でかなりこれは好印象でした。
なぜやってみたのか。
これは簡単な理由で、Rubyがまつもとゆきひろさんによって作られた言語だったからです。日本人が作った言語であるRubyはどのような使い方をするのががとても気になり、今後使う可能性が一番でかいRuby on Railsの挙動を確かめてみることしました。
ただ、これを今後使うことはおそらくないです。というのも、僕はバックグラウンドの多くをGoogle系のサービスで固めており、これにRubyが対応していることはまあまあ稀だからです。ということで、それらに僕一人の開発で対応するのは非常にコストが高いため、おそらくRubyを採用することはないでしょう。とはいえ、日本人開発者としては知っておかなければいけない言語ですので、これを機に触れてみた次第です。
最後に
本日は技術系最後の記事で、Ruby on Railsに挑戦してみました。正直、Flutterを触っているときにRubyのCocoapods関係で苦労した記憶しかなかったので怖かったのですが、使ってみるととても使いやすいものでした。明日以降は僕の高校生での開発まとめと来年以降に何をしたいかなどについてまとめたいと思います。それでは残り少ないアドカレ 23 の記事をお楽しみにしてください。