質問編集履歴

2

モデルのコードを追加

2018/11/21 09:54

投稿

ayachika
ayachika

スコア36

test CHANGED
File without changes
test CHANGED
@@ -343,3 +343,171 @@
343
343
  どなたか解決方法をご存知の方がいらっしゃればご教示いただけないでしょうか。
344
344
 
345
345
  よろしくお願いします。
346
+
347
+
348
+
349
+
350
+
351
+ 【追記】
352
+
353
+ モデルのコードを掲載します。
354
+
355
+ user.rb
356
+
357
+
358
+
359
+ ```
360
+
361
+ class User < ApplicationRecord
362
+
363
+ attr_accessor :remember_token
364
+
365
+ has_many :favorites, through: :favorites, source: :post, dependent: :destroy
366
+
367
+ has_many :posts, through: :favorites, dependent: :destroy ,foreign_key: 'user'
368
+
369
+
370
+
371
+ before_save { email.downcase! }
372
+
373
+ validates :name, presence: true, length: { maximum: 50 }
374
+
375
+ VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-]+(.[a-z\d\-]+)*.[a-z]+\z/i
376
+
377
+ validates :email, presence: true, length: { maximum: 255 },
378
+
379
+ format: { with: VALID_EMAIL_REGEX },
380
+
381
+ uniqueness: { case_sensitive: false }
382
+
383
+ has_secure_password
384
+
385
+ validates :password, presence: true, length: { minimum: 6 }, allow_nil: true
386
+
387
+
388
+
389
+
390
+
391
+
392
+
393
+ def self.digest(string)
394
+
395
+ cost = ActiveModel::SecurePassword.min_cost ? BCrypt::Engine::MIN_COST :
396
+
397
+ BCrypt::Engine.cost
398
+
399
+ BCrypt::Password.create(string, cost: cost)
400
+
401
+ end
402
+
403
+
404
+
405
+
406
+
407
+ def self.new_token
408
+
409
+ SecureRandom.urlsafe_base64
410
+
411
+ end
412
+
413
+
414
+
415
+
416
+
417
+ def remember
418
+
419
+ self.remember_token = User.new_token
420
+
421
+ update_attribute(:remember_digest, User.digest(remember_token))
422
+
423
+ end
424
+
425
+
426
+
427
+ def authenticated?(remember_token)
428
+
429
+ return false if remember_digest.nil?
430
+
431
+ BCrypt::Password.new(remember_digest).is_password?(remember_token)
432
+
433
+ end
434
+
435
+
436
+
437
+
438
+
439
+ def forget
440
+
441
+ update_attribute(:remember_digest, nil)
442
+
443
+ end
444
+
445
+
446
+
447
+
448
+
449
+ end
450
+
451
+ ```
452
+
453
+
454
+
455
+ post.rb
456
+
457
+
458
+
459
+ ```
460
+
461
+ class Post < ApplicationRecord
462
+
463
+
464
+
465
+ has_many :posts, dependent: :destroy
466
+
467
+ has_many :comments, dependent: :delete_all
468
+
469
+ has_many :post_tag_relations, dependent: :delete_all
470
+
471
+ has_many :tags, through: :post_tag_relations
472
+
473
+ belongs_to :user
474
+
475
+ validates :user_id, presence: true
476
+
477
+ default_scope -> { order(created_at: :desc) }
478
+
479
+ # presence ->
480
+
481
+ # length ->
482
+
483
+ # validates :name, presence: true, length: { maximum: 30 }
484
+
485
+ validates :title, presence: true, length: { maximum: 30 }
486
+
487
+ validates :content, presence: true, length: { maximum: 1000 }
488
+
489
+
490
+
491
+
492
+
493
+ mount_uploader :picture, PictureUploader
494
+
495
+ validates :user, presence:true
496
+
497
+
498
+
499
+ has_many :favorites, dependent: :destroy
500
+
501
+ has_many :users, through: :favorites
502
+
503
+ validates :user_id,presence: true
504
+
505
+ validates :content, presence: true, length: { maximum: 140 }
506
+
507
+
508
+
509
+ end
510
+
511
+
512
+
513
+ ```

1

開発環境を追加

2018/11/21 09:54

投稿

ayachika
ayachika

スコア36

test CHANGED
File without changes
test CHANGED
@@ -330,6 +330,16 @@
330
330
 
331
331
 
332
332
 
333
+ ##開発環境
334
+
335
+ AWSのcloud9を使用しています。
336
+
337
+ rubyのバージョンは 2.4.1p111
338
+
339
+ railsのバージョンはRails 5.0.7 です。
340
+
341
+
342
+
333
343
  どなたか解決方法をご存知の方がいらっしゃればご教示いただけないでしょうか。
334
344
 
335
345
  よろしくお願いします。