まりぴよこのブログ

日々の日記。技術ネタでまとまりきってないものの記録、伝わる文章の書き方を練習とか。

今週のRails勉強記録と目標

今週は簡単なRailsアプリを素早く作る練習を再開。

コード書き始めたら、アレコレ地味に落とし穴に落ちて、いろいろと勉強になった!

先週入れたdebug力向上のためのgem(ツール類)が大活躍♪

目標は2週間で前回のコピーアプリくらいを作りたかったんだけど、1週間経った時点でかなりまだまだな感じ。。 相変わらずスピードに難あり。

Devise & OmniAuth (with Github) で予想してた以上に苦戦

あと、初めてOmniAuthをやってみたので、週の前半はそこにほとんど時間を取られてしまった・・

Devise & OmniAuth は、たくさん紹介記事とかもあるし、すぐできるかな〜と高をくくっていたけど、意外と苦戦・・ 最初に参考にした情報がOmniAuth ( Deviseなし ) だったので、読み替えがうまくできてなくてハマった・・

OmniAuthで参考になったページ

github.com

最終的にここのページの通りにやればよかった。。

Perfect RailsでOmniAuthやってる箇所と、RailsCastの簡単なOmniAuthの説明ページの内容を合わせながらやったところ、情報が古かった&Deviseとの連携がなかった、で無理やり読み替えしながらやったら、グチャグチャになってしまった。。

やはり公式を見るのが一番・・・(英語も普通に読みやすかった・・)

最初におもいっきり注意書きがあって、

Remember that config.omniauth adds omniauth provider middleware to your application. This means you should not add this provider middleware again in config/initializers/omniauth.rb as they'll clash with each other and result in always-failing authentication.

意訳:config.omniauth が middleware を追加するので、config/initializers/omniauth.rb で middleware の定義しちゃダメ!

って書いてある。。RailsCastとか、ちょっと古い情報だと、middleare定義するように書いてある文書があるので、一番最初に注意書きしてあるみたい。 読み飛ばし、ダメ;;

ちゃんと理解した!と思った RailsAjax の書き方でハマった・・

qiita.com

理解した!と思って、先週記事を書いた Ajax の扱いについて、何故か意図通りいかない事象に遭遇・・

結局ファイルのパスを間違えていた(途中でnamespaceに移動させたりしてるうちに、残念な状態になってた)だけだったのに、気づくまでにかなりの時間がかかってしまった。。

Railsでは「お約束の場所」「お約束の名前」からズレてしまうと大きな痛手を受ける。。

こういうロスタイムいかんなぁ。。

こっちも、もうちゃんと理解した!と思ってた partial の書き方でハマった・・・・

qiita.com

何が元々の形で、どう省略を許されているのか、という理解が足りなかった。。 これも発見までに地味に時間がかかってしまった。

Railsでは「よく使うパターンなので省略を許している」オプションが出てくることが多い。

しかも適当に情報を集めてると、

  • もともとの形
  • 省略が許されているからそうなっている形
  • 普段あまり使わないオプションが入ってきた場合の形

の、どの状態なのかわからないまま使っていることになったりする。

これを意識して調べておかないと、省略形が元々の形だと思って、むやみにオプションだけを追加したら、動きません!状態になってしまう。

目標

いつも使うお約束のgemやRailsの機能を、イチイチ調べずにスラスラ書けるようになりたい。。