ブログアプリ②(機能を決めよう&gemをインストールしよう)
アプリの土台は作ったので早速gemを入れるぜ!
と思ったけど、カリキュラムで使ったgemを考えなしに入れるのは下策すぎるので、まずは載せたい機能を固めることにしたよ
ていうか作り始める前に設計しなさいよ勢いで始めるんだからーもー
つくる
- 記事を投稿する
- 記事にタグをつける
- 月別アーカイブ
つくりたい
- 記事にコメントする
- 記事に絵文字を投げる
- アプリ内検索機能
で、これを作るために現時点で追加が必要そうなgemはこの辺かしら
Gemfile group :development, :test do gem 'pry-rails' end gem 'font-awesome-rails' gem 'haml-rails' gem 'jquery-rails'
ところでこのgem達なにしてるの
font-awesome-rails
シンプルだけどいけてるアイコンを使うために必要
デザインを統一すると見やすい画面になるよね
haml-rails
本来erb(htmlだけどrailsのコードも入れられる)で書くビューをhamlで書くために必要
hamlは慣れるとhtmlより書きやすいし見やすい
Railsのビューのテンプレートエンジンは、デフォルトでerbが適用されます。
しかし、hamlやslimを用いた方が、コードが見やすく、綺麗に書けそうです。
~~~
jquery-rails
railsでjQuaryを使うために必要
(javascriptをさらに使いやすくしたのがjQuaryなので、これに頼り切りというのは本当は避けたい。後ろでどんな処理が動いてるか分からなくなるから)
pry-rails
ソースコードにbinding.pry
を挟むと、処理をそこで一時中断できるようになる
データが上手く渡せないときによく使う
必要そうなgemをGemfileに記述したので、インストールするよ
$ bundle install
よしよし
Bundle complete! 20 Gemfile dependencies, 82 gems now installed. Use `bundle info [gemname]` to see where a bundled gem is installed.
これでいつでもコードを書き始められるね
でも、そもそもデータベースの設計やビューのデザインを決めてないのでだめです
次は(本来真っ先にやるべきだった)設計周りをやろう
ブログアプリ①(雛形をつくろう)
何はともあれまずは土台を作らねば
ターミナルでコマンドを打つ
$ rails new myblog -d mysql
まあまだ始めたばかりですし、うまくいくでしょ
create create README.md create Rakefile create config.ru create .gitignore create Gemfile run git init from "." Initialized empty Git repository in /Users/mari/projects/myblog/.git/ create app ・・・
あまり気にしたことなかったけど、オプションをつけなければbundle install
もやってくれるのね
run bundle install
ふぁっ!?
Ruby Sass is deprecated and will be unmaintained as of 26 March 2019. * If you use Sass as a command-line tool, we recommend using Dart Sass, the new primary implementation: https://sass-lang.com/install * If you use Sass as a plug-in for a Ruby web framework, we recommend using the sassc gem: https://github.com/sass/sassc-ruby#readme * For more details, please refer to the Sass blog: http://sass.logdown.com/posts/7081811
いでよモノリンガルの味方google翻訳!てってれー
翻訳を自分なりに要約すると
- Ruby Sassが使えるのは2019年3月26日まで
- コマンドラインツールとしてSassを使うならDart Sassを使ってね
- Ruby WebフレームワークのプラグインとしてSassを使うならsassc gemを使ってね
ということらしい。まじか
スクールのカリキュラムでアプリを作ったときはsass-railsのgemを使ったんだよね
はてどうしよう。教えてえらいひと
libsassは最新のsassの機能が全て使えるわけではない点に注意が必要です。
最新機能に依存していないのだったら、sassc-railsに移行するのはありだと思います。
こちらの記事を読む限りsasscにしてもさほど影響は無さそうに見える
ただスクールでチーム開発をした時はsassで進めたし、期間は終わったものの任意で追加実装したいし
なので環境は変えずsassのままでやる
あとは最後にでていたこのコマンド
run bundle exec spring binstub --all * bin/rake: spring inserted * bin/rails: spring inserted
spring
ってなーに。教えてすごいひと
Springとは、Rails4.1から標準で付属するようになったアプリケーションプリローダーです。
Rails内では様々なライブラリのロードなどの前処理が行われるので、コマンドを実行するための待ち時間がかかってしまいます。
事前にバックグラウンドでライブラリをロードしておくことで、その待ち時間を短くするものがアプリケーションプリローダーです。
アプリケーションを動かすために必要なあれこれを事前に読み込んでおくことで結果として処理を速くしているということかな
何も知らなくても環境を整えてくれるって便利ねぇ
これで手元の疑問はすっきりしたし土台はできたので、次は必要なgemを導入しよう