質問編集履歴
1
投稿を削除しました
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,36 +1 @@
|
|
1
|
-
### 環境
|
2
|
-
rails ver6.1.4
|
3
|
-
ruby ver3.0.2
|
4
|
-
|
5
|
-
### 実現したいこと
|
6
|
-
ユーザー登録の際にGitHubに存在するユーザ名のみ登録できるようにしたいです。
|
7
|
-
またカスタムバリデータによって弾かれた際にGitHubに存在するユーザー名しか登録できません」というフラッシュメッセージを表示したいです
|
8
|
-
|
9
|
-
|
10
|
-
### 該当のソースコード
|
11
|
-
|
12
|
-
```app/validations/name_validator.rb
|
13
|
-
require 'net/http'
|
14
|
-
class NameValidator < ActiveModel::Validator
|
15
|
-
def validate(record)
|
16
|
-
uri = URI.parse("https://github.com/#{record.name}")
|
17
|
-
response = Net::HTTP.get_response(uri)
|
18
|
-
if response.code == "404"
|
19
|
-
record.errors[:name] << 'GitHubに存在するユーザー名しか登録できません'
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
23
|
-
```
|
24
|
-
|
25
|
-
```app/model/profile.rb
|
26
|
-
class Profile < ApplicationRecord
|
27
|
-
belongs_to :user
|
28
|
-
|
1
|
+
投稿者(Mr.PotatoHead)の諸事情により削除しました。
|
29
|
-
validates_with NameValidator
|
30
|
-
validates :name, presence: true
|
31
|
-
end
|
32
|
-
```
|
33
|
-
### 現在理解していること
|
34
|
-
実際にGitHubに存在しないユーザ名で登録しようとすると登録できなく、存在するユーザ名で登録すると異常なく登録,ログインできるのでちゃんとカスタムバリデータとしては機能しているのを確認済みです。しかしフラッシュメッセージの```GitHubに存在するユーザー名しか登録できません```が表示されない状況です。
|
35
|
-
|
36
|
-
|