質問編集履歴

7

書式の改善

2019/12/10 09:48

投稿

Ka_na_ta
Ka_na_ta

スコア4

test CHANGED
@@ -1 +1 @@
1
- rails+vue.jsにてパスワード項目がnilで連携されてしまう
1
+ Vue.js/Rails(bcrypt)にてパスワード項目のみ連携(Vue.js→Rails)きない
test CHANGED
@@ -40,9 +40,11 @@
40
40
 
41
41
  内容に記載の通り、デバッグ(byebug)にてVue.js側からRails側に情報がストロングパラメータにて情報が渡ることを確認済です。ただし、ユーザ名・メールアドレスのみ連携できており、パスワードはnilとなっております。
42
42
 
43
- Vue.js側のデバッグができておりませんので、実施いたします。
43
+ Vue.js側のデバッグができておりませんので、調べて実施いたします。
44
+
45
+
46
+
44
-
47
+ ###コード等
45
-
46
48
 
47
49
  ```error
48
50
 

6

書式の改善

2019/12/10 09:47

投稿

Ka_na_ta
Ka_na_ta

スコア4

test CHANGED
File without changes
test CHANGED
@@ -1,14 +1,20 @@
1
- はじめまて。
2
-
3
- 今回、rails+vue.jsにてWEBアプリケーションを初めて試作するにあたり、解決できない事象が発生したので、質問させてください。ま、初の投稿となるため、情報等不足してましたら、ご指摘ください
4
-
5
- よろしくお願い申し上げます。
6
-
7
-
8
-
9
- ユーザ登録画面にて必要項目を入力後、HTTP(post)を発行した際に、サーバ側(rails)にてパスワード項目であるpassword/password_confirmationともnilとなっしまいます。また、本事象が発生しているため、バーション【has_secure_password】が動し、ユーザは登録はできません。また、バリデーションが動作していこともあり、【bcrypt】は開発環境に導入できております。
10
-
11
- 同一インスタンスで渡しているname/emailは正しくクライアント→サーバ間で連携できています。
1
+ ###解決たいこと
2
+
3
+ 画面入力値のパスワード項目を連携(Vue.js→Rails)させたい。
4
+
5
+
6
+
7
+ ###内容
8
+
9
+ 今回、rails+vue.jsにてWEBアプーションを初めて試り、質問いたします。
10
+
11
+ また、初の投稿とるため情報等不足しておりましたらご指摘くださ。よろしくお願申し上げます。
12
+
13
+
14
+
15
+ ユーザ登録画面にて必要項目を入力後、HTTP(post)を発行した際に、サーバ側(rails)にてパスワード項目であるpassword/password_confirmationともにnilとなってしまいます。また、本事象が発生しているため、バリデーション【has_secure_password】が動作し、ユーザは登録はできません。また、バリデーションが動作していることもあり、【bcrypt】は開発環境に導入できております。
16
+
17
+ なお、同一インスタンスで渡しているname/emailは正しく連携(Vue.js→Rails)できています。
12
18
 
13
19
 
14
20
 
@@ -30,6 +36,14 @@
30
36
 
31
37
 
32
38
 
39
+ ###試したこと
40
+
41
+ 内容に記載の通り、デバッグ(byebug)にてVue.js側からRails側に情報がストロングパラメータにて情報が渡ることを確認済です。ただし、ユーザ名・メールアドレスのみ連携できており、パスワードはnilとなっております。
42
+
43
+ Vue.js側のデバッグができておりませんので、実施いたします。
44
+
45
+
46
+
33
47
  ```error
34
48
 
35
49
  Processing by HomeController#index as HTML

5

不足情報の追加

2019/12/10 09:45

投稿

Ka_na_ta
Ka_na_ta

スコア4

test CHANGED
File without changes
test CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
 
8
8
 
9
- ユーザ登録画面にて、必要項目を入力後、HTTP(post)を発行した際に、サーバ側(rails)にてパスワード項目がnilとなってしまいます。password/password_confirmation両方ともにnilです。
9
+ ユーザ登録画面にて、必要項目を入力後、HTTP(post)を発行した際に、サーバ側(rails)にてパスワード項目であるpassword/password_confirmationともにnilとなってしまいます。また、本事象が発生しているため、バリデーション【has_secure_password】が動作し、ユーザは登録はきません。また、バリデーションが動作していることもあり、【bcrypt】は開発環境に導入できております。
10
10
 
11
11
  なお、同一インスタンスで渡しているname/emailは正しくクライアント→サーバ間で連携できています。
12
12
 

4

書式の改善

2019/12/10 09:34

投稿

Ka_na_ta
Ka_na_ta

スコア4

test CHANGED
File without changes
test CHANGED
@@ -6,13 +6,25 @@
6
6
 
7
7
 
8
8
 
9
- ユーザ登録画面にて、HTTP(post)を発行した際に、パスワード項目がnilとなってしまいます。password/password_confirmation両方ともにnilです。
9
+ ユーザ登録画面にて、必要項目を入力後、HTTP(post)を発行した際に、サーバ側(rails)にてパスワード項目がnilとなってしまいます。password/password_confirmation両方ともにnilです。
10
-
10
+
11
- なお、同一インスタンスで渡しているname/emailは正しくクライアント→サーバ間で伝達できています。
11
+ なお、同一インスタンスで渡しているname/emailは正しくクライアント→サーバ間で連携できています。
12
+
13
+
14
+
12
-
15
+ <入力項目>
16
+
13
-
17
+  ・ユーザ名(name)
18
+
14
-
19
+  ・メールアドレス(email)
20
+
21
+  ・パスワード(password)
22
+
23
+  ・パスワード確認(password_confirmation)
24
+
25
+
26
+
15
- nilではなく、正しいフォームの値が渡るようにしたいです。
27
+ nilではなく、正しいフォームの入力値が渡るようにしたいです。
16
28
 
17
29
  初歩的なミスだろうと思いますが、ご指摘のほど、よろしくお願い申し上げます。
18
30
 

3

不足コードの追加

2019/12/10 09:26

投稿

Ka_na_ta
Ka_na_ta

スコア4

test CHANGED
File without changes
test CHANGED
@@ -262,7 +262,35 @@
262
262
 
263
263
 
264
264
 
265
- ```rails
265
+ ```railsModel
266
+
267
+ class User < ApplicationRecord
268
+
269
+ before_save { self.email = email.downcase }
270
+
271
+ VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-.]+.[a-z]+\z/i
272
+
273
+ validates :name, presence: true, length: { maximum: 50 }
274
+
275
+ validates :email, presence: true, length: { maximum: 255 },
276
+
277
+ format: { with: VALID_EMAIL_REGEX },
278
+
279
+ uniqueness: { case_sensitive: false }
280
+
281
+ has_secure_password
282
+
283
+ validates :password, presence: true, length: { minimum: 6 }
284
+
285
+ end
286
+
287
+
288
+
289
+ ```
290
+
291
+
292
+
293
+ ```railsController
266
294
 
267
295
  class Api::V1::UsersController < ApiController
268
296
 

2

個人情報を削除しました

2019/12/08 14:21

投稿

Ka_na_ta
Ka_na_ta

スコア4

test CHANGED
File without changes
test CHANGED
@@ -38,7 +38,7 @@
38
38
 
39
39
  ↳ app/controllers/api/v1/users_controller.rb:16:in `create'
40
40
 
41
- User Exists? (0.2ms) SELECT 1 AS one FROM "users" WHERE LOWER("users"."email") = LOWER(?) LIMIT ? [["email", "shiyo@test.com"], ["LIMIT", 1]]
41
+ User Exists? (0.2ms) SELECT 1 AS one FROM "users" WHERE LOWER("users"."email") = LOWER(?) LIMIT ? [["email", "test@test.com"], ["LIMIT", 1]]
42
42
 
43
43
  ↳ app/controllers/api/v1/users_controller.rb:16:in `create'
44
44
 

1

質問に不要箇所を削除しました

2019/12/08 14:03

投稿

Ka_na_ta
Ka_na_ta

スコア4

test CHANGED
File without changes
test CHANGED
@@ -18,7 +18,7 @@
18
18
 
19
19
 
20
20
 
21
- ```エラー
21
+ ```error
22
22
 
23
23
  Processing by HomeController#index as HTML
24
24
 
@@ -52,7 +52,7 @@
52
52
 
53
53
 
54
54
 
55
- ```vue
55
+ ```vue
56
56
 
57
57
  <template>
58
58
 
@@ -184,43 +184,7 @@
184
184
 
185
185
  <style scoped>
186
186
 
187
-
188
-
189
- h1, h2, h3, h4, h5, h6 {
190
-
191
- line-height: 1;
192
-
193
- }
194
-
195
-
196
-
197
- h1 {
198
-
199
- font-size: 3em;
200
-
201
- letter-spacing: -2px;
202
-
203
- margin-bottom: 30px;
204
-
205
- text-align: center;
187
+ //関係ない
206
-
207
- }
208
-
209
-
210
-
211
- a {
212
-
213
- text-align: center;
214
-
215
- }
216
-
217
-
218
-
219
- .button_wrapper {
220
-
221
- text-align: center;
222
-
223
- }
224
188
 
225
189
  </style>
226
190
 
@@ -290,162 +254,106 @@
290
254
 
291
255
 
292
256
 
293
- group :test do
294
-
295
- gem 'capybara', '>= 2.15'
296
-
297
- gem 'selenium-webdriver'
298
-
299
- gem 'webdrivers'
300
-
301
- gem 'rails-controller-testing'
302
-
303
- gem "minitest"
304
-
305
- gem "minitest-rails"
306
-
307
- gem "minitest-rails-capybara" # capybaraで結合テストできるようにする
308
-
309
-
310
-
311
- # レポートの書式を変更する
312
-
313
- gem "minitest-reporters" # テスト結果をゲージ表示
314
-
315
- #gem "minitest-doc_reporter" # テスト結果を単体ごとに羅列
316
-
317
-
318
-
319
- # 機能追加系
320
-
321
- gem "minitest-stub_any_instance" # メソッドmockを追加できる様にする
322
-
323
-
324
-
325
- #gem "minitest-bang" # let!文のサポートを追加
326
-
327
-
328
-
329
- gem "factory_girl" # DBのデータのモックを作成
330
-
331
- gem 'minitest-reporters'
332
-
333
- gem 'guard'
334
-
335
- gem 'guard-minitest'
257
+ gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
258
+
259
+
260
+
261
+ ```
262
+
263
+
264
+
265
+ ```rails
266
+
267
+ class Api::V1::UsersController < ApiController
268
+
269
+ before_action :set_user, only: [:show]
270
+
271
+
272
+
273
+ def show
274
+
275
+ render json: @user
276
+
277
+ end
278
+
279
+
280
+
281
+ def index
282
+
283
+ @users = User.all
284
+
285
+ render json: @users
286
+
287
+ end
288
+
289
+
290
+
291
+ def create
292
+
293
+ @user = User.new(user_params)
294
+
295
+ debugger
296
+
297
+ if @user.save
298
+
299
+ render json: @user, status: :created
300
+
301
+ else
302
+
303
+ render json: { errors: @user.errors.full_messages }, status: :unprocessable_entity
304
+
305
+ end
306
+
307
+ end
308
+
309
+
310
+
311
+ private
312
+
313
+
314
+
315
+ def set_user
316
+
317
+ @user = User.find(params[:id])
318
+
319
+ end
320
+
321
+
322
+
323
+ def user_params
324
+
325
+ params.require(:user).permit(:name, :email, :password, :password_confirmation)
326
+
327
+ end
336
328
 
337
329
  end
338
330
 
339
-
331
+ ```
332
+
333
+
334
+
340
-
335
+ ```route
336
+
341
- group :production do
337
+ Rails.application.routes.draw do
338
+
342
-
339
+ root 'home#index'
340
+
343
- gem 'pg', '1.0.0'
341
+ get '/signup', to: 'home#index'
342
+
343
+ get '/users', to: 'home#index'#暫定です
344
+
345
+ get '/users/1', to: 'home#index'#暫定です
346
+
347
+ namespace :api, {format: 'json'} do
348
+
349
+ namespace :v1 do
350
+
351
+ resources :users, only: [:index, :show, :create]
352
+
353
+ end
354
+
355
+ end
344
356
 
345
357
  end
346
358
 
347
-
348
-
349
- gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
350
-
351
-
352
-
353
- ```
359
+ ```
354
-
355
-
356
-
357
- ```rails側
358
-
359
- class Api::V1::UsersController < ApiController
360
-
361
- before_action :set_user, only: [:show]
362
-
363
-
364
-
365
- def show
366
-
367
- render json: @user
368
-
369
- end
370
-
371
-
372
-
373
- def index
374
-
375
- @users = User.all
376
-
377
- render json: @users
378
-
379
- end
380
-
381
-
382
-
383
- def create
384
-
385
- @user = User.new(user_params)
386
-
387
- debugger
388
-
389
- if @user.save
390
-
391
- render json: @user, status: :created
392
-
393
- else
394
-
395
- render json: { errors: @user.errors.full_messages }, status: :unprocessable_entity
396
-
397
- end
398
-
399
- end
400
-
401
-
402
-
403
- private
404
-
405
-
406
-
407
- def set_user
408
-
409
- @user = User.find(params[:id])
410
-
411
- end
412
-
413
-
414
-
415
- def user_params
416
-
417
- params.require(:user).permit(:name, :email, :password, :password_confirmation)
418
-
419
- end
420
-
421
- end
422
-
423
- ```
424
-
425
-
426
-
427
- ```route
428
-
429
- Rails.application.routes.draw do
430
-
431
- root 'home#index'
432
-
433
- get '/signup', to: 'home#index'
434
-
435
- get '/users', to: 'home#index'#暫定です
436
-
437
- get '/users/1', to: 'home#index'#暫定です
438
-
439
- namespace :api, {format: 'json'} do
440
-
441
- namespace :v1 do
442
-
443
- resources :users, only: [:index, :show, :create]
444
-
445
- end
446
-
447
- end
448
-
449
- end
450
-
451
- ```