- 1. Refile::InvalidID エラーが起きた時のメモ
- 2. サービス設計について②!
- 3. 【Rails】acts-as-taggable-onで作成したタグ機能をseedデータに取り入れる
- 4. 【Rails】(gem draper) decoratorについてまとめ helperとの使い分け方も
- 5. ActiveRecordの#updateについて
- 6. 【Rails 】 flashとflash.nowの使い分けかた。redirect_toとrenderも含めてまとめる
- 7. 【Rails】 falshメッセージを使用する流れ (add_flash_types)
- 8. rails sできなくなった件
- 9. 【Rails】【JS】GoogleMapで固定した場所にピンを刺したい!【Geocoder】
- 10. Rails ログイン機能 [sorcery] 解説
- 11. railsチュートリアル第九章 二つの目立たないバグ
- 12. railsチュートリアル第九章 ユーザーを忘れる
- 13. railsチュートリアル第九章 ログイン状態を保持
- 14. 【rails×vue】ログイン後にuser_idを取得してリンクに仕込む
- 15. サービス設計について①!
- 16. [Ruby]devise passwordの最低文字数を変更する
- 17. [Ruby]アソシエーションしたActiveHashのモデルの、特定の要素を取得したい。
- 18. [Ruby]正規表現まとめ
- 19. [Javascript]ファイルを読み込まない
- 20. [Ruby] Rspec MySQLを読み込まない
Refile::InvalidID エラーが起きた時のメモ
## 環境
“`
gem “refile”, require: “refile/rails”, github: ‘manfe/refile’
gem “refile-mini_magick”Rails 5.2.6
“`## 1.目標
**Refileの`attachment_image_tag`命令でクラウド上の画像を表示したい。**## 2.状況
– `attachment_field`フォームで保存した画像を`attachment_image_tag`命令で呼び出そうとしたところ、`Refile::InvalidID in (該当頁)`エラーが発生した。
– マイグレーションファイルに`default: “default.jpg”`等のようなデフォルト値を指定するコードはなかった。(※ https://teratail.com/questions/220379 で、デフォルト値に起因する同挙動エラーの解決報告あり)
– 該当レコードを保存した際にはフォーム・ストロングパラメータ・モデル全てに不手際があった。
– 不手際修正後に作成したレコードを`attachment
サービス設計について②!
#①.結論!
設計の手順には明確な定義がないため、一般的な「要件定義」→「基本設計」→「詳細設計」の順で説明します!
進むごとに開発しやすいような細かい箇所を決定していくようなイメージです!
ここから前回の続きです!
今回は、「基本設計」と「詳細設計」に着目して進めます!
#②.基本設計
要件定義の内容を、開発に必要な内容へまとめることです!
外部設計とも呼ばれます!
今回の基本設計では、アプリケーション制作に必須の要素となる「画面」や「画面遷移の流れ」をまとめていきます!
#③.詳細設計
実際に書くべきコードを洗い出す作業です!
要件定義や基本設計の情報を元に、ユーザーが行う操作(ボタンを押す、フォームを投稿するなど)に対して行われる処理をすべて書き出します!
その上で、実際どのようなコードを書くかを当てはめていきます!
Ruby on Railsであれば「ルーティングはどういったものがあるか、対応するコントローラーとそのアクションはどういったものになるか、モデルは ~」といった内容を表にまとめると良いでしょう!
#④.画面遷移図
アプリの画面がどのよう
【Rails】acts-as-taggable-onで作成したタグ機能をseedデータに取り入れる
##目的
自作のアプリにダミーユーザーを作成。
その際acts-as-taggable-onで作成したタグの挙動や見栄えの確認をしていきます。参考:
[Railsにタグ機能をつける。acts-as-taggable-on使用](https://qiita.com/nakamura999/items/56c6426fc5dd640617ce)
[rails acts-as-taggable-on でタグ付け後、タグを使って検索](https://qiita.com/take1457a/items/90465189140ec77b14be)##環境
windows10 home
Ubuntu 20.04.1 on WSL2
rails 6.0.3
ruby 2.6.6##seedデータ作成(失敗)
まずはタグ表示無しでデータが作れるか試してみる。“`seeds.rb
50.times do
user = User.create!(
name: Faker::Games::Pokemon.unique.name,
email: Faker::I
【Rails】(gem draper) decoratorについてまとめ helperとの使い分け方も
# 概要
**decorator**についてまとめる# 前提
・sorcery gem 使用
・Userコントローラーにnewアクション作成済み
・new.html.erbにデコレーターでフルネームを表示したい#流れ
### 1.gemをインストールする
**draper gem** を使用するhttps://github.com/drapergem/draper/blob/master/README.md
`bundle install`でインストールし
生成されたすべてのデコレーターが継承するApplicationDecoratorを作成するためにこのコマンドを実行する
“`:ターミナル
rails generate draper:install
“`### 2.Userデコレーターを作成する
“`:ターミナル
rails generate decorator User
“``app/decorators/user_decorator.rb`が作成される:)
フルネームを作成するメソッドを作成していく
“`ruby:app/decorat
ActiveRecordの#updateについて
# 前提
Rails 6.1.4
ruby 2.7.1# はじめに
ActiveRecordの`update`メソッドを使う際、引数に一部の変更したいカラムだけ指定する時があるが、この時指定されていない`attirubte`は`nil`となりバリデーションに引っかかる場合があると思うがどうやって回避されているのだろうか?という疑問を持ったので挙動について詳しく調べていきたいと思う。今回以下のソースコードを参考にした。
このmoduleには、普段よく使う様々なメソッドについてのコメントやコードが載っており眺めているだけでもかなり面白かった。
[Github](https://github.com/rails/rails/blob/f33d52c95217212cbacc8d5e44b5a8e3cdc6f5b3/activerecord/lib/active_record/persistence.rb#L616)# `save`
まず始めに`update`メソッドの基礎となる`save`メソッドに紐解いてみる。
[Github](https://github.com/rails
【Rails 】 flashとflash.nowの使い分けかた。redirect_toとrenderも含めてまとめる
# 概要
**flash**と**flash.now**の使い分けについてまとめる
**redirect_to**と**render**についてもまとめる#結論
**flash** → **redirect**するときに使用**flash.now** → **render**するときに使用
#redirectとrenderについて
### redirect_to
>別のURLに対して改めてリクエストを再送信するよう、ブラウザに指令を出すhttps://railsguides.jp/layouts_and_rendering.html#redirect-to%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B
>URLを指定して表示
https://railsdoc.com/page/redirect_to
###render
>アプリケーションがブラウザで表示するコンテンツのレンダリング (出力) という力仕事は、ActionController::Base#renderメソッドがほぼ一手に引き受けています。https://
【Rails】 falshメッセージを使用する流れ (add_flash_types)
#概要
**flashメッセージ**を使用する流れをまとめた#用意するもの
**flashメッセージ**部分を作成“`ruby:shared/_header.html.reb
<% flash.each do |message_type, message| %>