- 0.0.1. Railsチュートリアル 12章まとめ
- 0.0.2. railsアプリのデプロイエラーの原因が、gemのuglifierのバージョンに依るものだった話
- 0.0.3. マジックナンバーとrailsにおける定数管理gem “config”
- 0.0.4. Rubyのincludeを理解したい①
- 0.0.5. Railsチュートリアル11章まとめ
- 0.0.6. 【Rails】世界一簡単なcreated.at(updated.at)日本語表記
- 0.0.7. [Ruby on Rails] No template for interactive request
- 0.0.8. bootstrap_ドロップダウンが表示されない
- 0.0.9. polymorphic: trueとなっているポリモーフィックなモデルを結合する方法
- 0.0.10. Rails Slackへメッセージを送信
- 1. 前提条件
- 2. 概要
- 3. gem ‘slack-notifier’の導入
- 4. Slack側準備
- 5. 前提条件
- 6. 概要
Railsチュートリアル 12章まとめ
#Railsチュートリアル 12章まとめ
この章でやること+ よくあるパスワードを忘れた際にパスワードの再設定をできるようにする
+ パスワードリセットコントローラーを作成する
+ メールを送信できるようにする
+ パスワードを再設定できるようにする##12.1 PasswordResetsリソース
PasswordResetsリソースのモデリングから
必要なデータ(再設定用のダイジェストなど)をUserモデルに追加していくPasswordResetsもリソースとして扱っていきたいので、まずは標準的なRESTfulなURLを用意。
###12.1.1 PasswordResetsコントローラ
コントローラーを生成 newとeditのメソッドも追加“`
$ rails generate controller PasswordResets new edit –no-test-framework
“`“`no-test-framework“` はテストを生成しないオプション
今回は単体テストをせず統合テストでカバーするためリスト 12.1: パ
railsアプリのデプロイエラーの原因が、gemのuglifierのバージョンに依るものだった話
railsアプリのデプロイがこけたので、その原因を追求してみた。
デプロイ時のエラーメッセージを読むと、以下の様なメッセージが頻出していた。
“`
Caused by:
V8::Error: SyntaxError: Unexpected token: name (jsの変数名)
at js_error (:3623:12167)
at croak (:3623:22038)
at token_error (:3623:22175)
at unexpected (:3623:22263)
at semicolon (:3623:22781)
at simple_statement (:3623:25959)
at:3623:23747
at:3623:22954
at block_ (:3623:28083)
at ctor.body (:3623:27686)
at function_ (:3623:27782)
at:3623:
マジックナンバーとrailsにおける定数管理gem “config”
## この記事の目的
開発中に「マジックナンバー」と言う聞き慣れない(恥ずかしながら)言葉を耳にし、その意味と問題点を調べたのでまとめました。また、Railsにおける「マジックナンバー」への対応策の一つを紹介したいと思います。
この記事で以下のことが分かると思います。
– マジックナンバーとは何か
– 開発におけるマジックナンバーの問題点
– その解決策の一つであるrailsのgem “config”の扱い方## 1. マジックナンバーとは
マジックナンバーとは、ハードコーディングされた数値のことです。
ハードコーディングとは、**固有名詞・固有値**をソースコード内に**直接**埋め込んだコードのことです。
ソースコードとは、開発者がコーディングしているファイルの内容のことです(index.html, stylesheet.cssなど大体そうかと)。ハードコードの中でも数値のことを、プログラミングにおいて「マジックナンバー」と呼びます。
“`erb:index.html.erb
# ハードコードの例
山田太郎
2
Rubyのincludeを理解したい①
#書くこと
Rubyのincludeについて、メソッド探索について学んだ結果見えた事実
こちらの記事を参考にさせていただきました。ありがとうございました。[【ruby】 メソッド探索から見る、モジュール・特異メソッド・特異クラス](https://at-grandpa.hatenablog.jp/entry/2016/02/14/090544)
自分なりに、こちらの記事を設計図と車で喩え直してみました。
(こちらの記事は、2部構成になっているうちの、第一部です。)
次の記事はこちら→##クラスとインスタンス
本題は、Rubyのincludeについてですが、この記事では後に理解がしやすくなるようにクラスとインスタンス、それに伴う変数とメソッドについて掘り下げていきます。Rubyには、クラスとインスタンスと言う概念があります。
車を作る時で考えてみましょう。####- クラスは、設計図です。
####- インスタンスは、その設計図をもとに作られた実際の車です。もう少し理解してみましょう。クラスとインスタンスには、それぞれメソッドなるものが存在します。
####-
Railsチュートリアル11章まとめ
#この章でやること
本当にそのメールアドレスの持ち主なのかどうかを確認できるようにする。
SMS認証的なやつ
(1)有効化トークンやダイジェストを関連付けておいた状態で、
(2)有効化トークンを含めたリンクをユーザーにメールで送信し、
(3)ユーザーがそのリンクをクリックすると有効化できるようにするアカウントを有効化する基本的な手順は
1. ユーザーの初期状態は「有効化されていない」(unactivated)にしておく。
2. ユーザー登録が行われたときに、有効化トークンと、それに対応する有効化ダイジェストを生成する。
3. 有効化ダイジェストはデータベースに保存しておき、有効化トークンはメールアドレスと一緒に、ユーザーに送信する有効化用メールのリンクに仕込んでおく
4. ユーザーがメールのリンクをクリックしたら、アプリケーションはメールアドレスをキーにしてユーザーを探し、データベース内に保存しておいた有効化ダイジェストと比較することでトークンを認証する。
5. ユーザーを認証できたら、ユーザーのステータスを「有効化されていない」から「有効化済み」(activated
【Rails】世界一簡単なcreated.at(updated.at)日本語表記
#はじめに
railsではロンドン?の時刻表示がデフォになっていますが、簡単に日本語表記で表すことができます。
本記事では簡単にやる方法を簡潔に書きます。
#開発環境
– Ruby2.6.6
#実際のコード
まずは、`application.rb`に以下を記述します。
“`ruby:config/application.rb
config.i18n.default_locale = :ja
“`
次に、config/locateの中に`ja.yml`のファイルを作り、以下を記述します。“`ruby:config/locate/ja.yml
ja:
datetime:
distance_in_words:less_than_x_minutes:
one: “1秒”
other: “%{count}秒”
x_minutes:
one: “1分”
other: “%{count}分”
about_x_hours:
o
[Ruby on Rails] No template for interactive request
なんか色々と長い内容のエラーに出くわした。
備忘録と言うよりは打つ間違いに気をつけろ!ってことで
自身への反省をこめて書きます。##No template
なら、いつもの記述間違いか?ってなる所、
今回のエラーはいつもより長かった…
**エラー内容↓**
##No template for interactive request
CatsController#show is missing a template for request formats: text/html
NOTE!訳**(インタラクティブリクエスト用のテンプレートはありません
CatsController#showにリクエスト形式のテンプレートがありません:text / html
注意!)**###解決方法?
なのかは、分からないが**show.html**のファイルを作った時にコンマが一個多かったorz
**show..html.erb** となっていた。
ただそれだけ。
###まとめ
たまたま早期発見できたものの、今後templateエラーが出たら
コードとファイルの
bootstrap_ドロップダウンが表示されない
rails tutorial 8章をしていたところ、
ドロップダウンを表示させるのに手こずりましたので、メモに残しておきます。#解決前
“`_header.html.erb
<%= link_to "sample app", root_path, id: "logo" %>関連する記事
OTHERカテゴリの最新記事
-
- 2024.09.19
JavaScript関連のことを調べてみた
-
- 2024.09.19
JAVA関連のことを調べてみた
-
- 2024.09.19
iOS関連のことを調べてみた
-
- 2024.09.19
Rails関連のことを調べてみた
-
- 2024.09.19
Lambda関連のことを調べてみた
-
- 2024.09.19
Python関連のことを調べてみた