質問編集履歴

9

エラーの対処法があっているのかの確認

2020/08/18 21:06

投稿

ahiru3
ahiru3

スコア12

test CHANGED
File without changes
test CHANGED
@@ -769,3 +769,15 @@
769
769
 
770
770
 
771
771
  よろしくお願いします。
772
+
773
+
774
+
775
+ 追記⑥
776
+
777
+ ![イメージ説明](f0dcbf7f707e1e2b62bb1c0eb163d3d8.png)
778
+
779
+
780
+
781
+ qiitaやteratailsで探したのですがgemfileの更新などが出てきました。
782
+
783
+ やっていいものかわからなかったので確認のため質問します。

8

現場を再度アップします。

2020/08/18 21:06

投稿

ahiru3
ahiru3

スコア12

test CHANGED
File without changes
test CHANGED
@@ -619,3 +619,153 @@
619
619
  以下のエラーになりました。
620
620
 
621
621
  ![イメージ説明](49f04eef69a073f41243f2ff92508712.png)
622
+
623
+
624
+
625
+
626
+
627
+ 追記⑤
628
+
629
+
630
+
631
+ like ?"."#{month}%"がカンマの部分を直して上のエラーは無くなりました。
632
+
633
+ 次はNo method errorで止まってしましました。
634
+
635
+
636
+
637
+ ![イメージ説明](046a5be090255a974d432adf1739d830.png)
638
+
639
+
640
+
641
+ model family.rb
642
+
643
+ ```
644
+
645
+ class Family < ApplicationRecord
646
+
647
+ belongs_to :user
648
+
649
+ attachment :image
650
+
651
+
652
+
653
+ with_options presence: true do
654
+
655
+ validates :category
656
+
657
+ validates :molph
658
+
659
+ validates :image
660
+
661
+ validates :fathermolph
662
+
663
+ validates :mothermolph
664
+
665
+ validates :hatchdate
666
+
667
+ validates :sex
668
+
669
+ validates :weight
670
+
671
+ validates :feature
672
+
673
+ end
674
+
675
+
676
+
677
+ def get_serial
678
+
679
+ month = Date.parse(individualnumber+"/1").strftime("%y年%m月-")
680
+
681
+ number = Family.where("individualnumber like ?","#{month}%").
682
+
683
+ latest = where("individualnumber like ?","#{month}%").
684
+
685
+ order(individualnumber: :desc).first
686
+
687
+ number = latest ? latest.individualnumber[/月-(\d+)/,1].succ : 1
688
+
689
+ self.individualnumber = month + number
690
+
691
+ end
692
+
693
+ end
694
+
695
+ ```
696
+
697
+
698
+
699
+ families.controller
700
+
701
+ ```
702
+
703
+ class FamiliesController < ApplicationController
704
+
705
+
706
+
707
+ 省略
708
+
709
+ def create
710
+
711
+ @family = Family.new(family_params)
712
+
713
+ @family.get_serial
714
+
715
+ @family.user_id = current_user.id
716
+
717
+ if @family.save
718
+
719
+ redirect_to family_path(@family), notice: "登録完了しました。"
720
+
721
+ else
722
+
723
+ render :new
724
+
725
+ end
726
+
727
+ end
728
+
729
+
730
+
731
+ def edit
732
+
733
+ @family = Family.find(params[:id])
734
+
735
+ if @family.user != current_user
736
+
737
+ redirect_to families_path, alert: "不正なアクセスです。"
738
+
739
+ end
740
+
741
+ end
742
+
743
+
744
+
745
+ def update
746
+
747
+ @family = Family.find(params[:id])
748
+
749
+ if @family.update(family_params)
750
+
751
+ redirect_to family_path(@family), notice: "更新に成功しました。"
752
+
753
+ else
754
+
755
+ render :edit
756
+
757
+ end
758
+
759
+ end
760
+
761
+
762
+
763
+ ```
764
+
765
+
766
+
767
+ 質問ばっかりすいません。
768
+
769
+
770
+
771
+ よろしくお願いします。

7

コメントを入力

2020/08/16 20:42

投稿

ahiru3
ahiru3

スコア12

test CHANGED
File without changes
test CHANGED
@@ -583,3 +583,39 @@
583
583
  end
584
584
 
585
585
  ```
586
+
587
+
588
+
589
+
590
+
591
+ 追記④
592
+
593
+
594
+
595
+ ```modelfamily
596
+
597
+ def get_serial
598
+
599
+ month = Date.parse(individualnumber+"/1").strftime("%y年%m月-")
600
+
601
+ number = Family.where("individualnumber like ?","#{month}%").
602
+
603
+ latest = where("individualnumber like ?"."#{month}%").
604
+
605
+ order(individualnumber: :desc).first
606
+
607
+ number = latest ? latest.individualnumber[/月-(\d+)/,1].succ : 1
608
+
609
+ self.individualnumber = month + number
610
+
611
+ end
612
+
613
+ ```
614
+
615
+ これでいいのですか?
616
+
617
+
618
+
619
+ 以下のエラーになりました。
620
+
621
+ ![イメージ説明](49f04eef69a073f41243f2ff92508712.png)

6

familyrbの変更を追記します。

2020/08/16 01:06

投稿

ahiru3
ahiru3

スコア12

test CHANGED
File without changes
test CHANGED
@@ -534,24 +534,52 @@
534
534
 
535
535
  ```familyrb
536
536
 
537
- def create
538
-
539
- @family = Family.new(family_params)
537
+ class Family < ApplicationRecord
538
+
540
-
539
+ belongs_to :user
540
+
541
+ attachment :image
542
+
543
+
544
+
545
+ with_options presence: true do
546
+
547
+ validates :category
548
+
549
+ validates :molph
550
+
541
- @family.get_serial
551
+ validates :image
542
-
552
+
543
- @family.user_id = current_user.id
553
+ validates :fathermolph
554
+
544
-
555
+ validates :mothermolph
556
+
545
- if @family.save
557
+ validates :hatchdate
546
-
547
- redirect_to family_path(@family), notice: "登録完了しました。"
558
+
548
-
549
- else
550
-
551
- render :new
559
+ validates :sex
560
+
552
-
561
+ validates :weight
562
+
563
+ validates :feature
564
+
553
- end
565
+ end
566
+
567
+
568
+
554
-
569
+ def get_serial
570
+
571
+ month = Date.parse(individualnumber+"/1").strftime("%y年%m月-")
572
+
573
+ number = Family.where("individualnumber like ?","#{month}%").
574
+
575
+ order(individualnumber: :desc).
576
+
577
+ first.individualnumber[/月-(\d+)/,1].succ
578
+
579
+ self.individualnumber = month + number
580
+
555
- end
581
+ end
582
+
556
-
583
+ end
584
+
557
- ```
585
+ ```

5

最後のmodelのfamilyrbを変更しています。

2020/08/15 22:42

投稿

ahiru3
ahiru3

スコア12

test CHANGED
File without changes
test CHANGED
@@ -532,7 +532,7 @@
532
532
 
533
533
 
534
534
 
535
- ```familycontroller
535
+ ```familyrb
536
536
 
537
537
  def create
538
538
 

4

familycontrollerの中身を追記しました。

2020/08/15 22:40

投稿

ahiru3
ahiru3

スコア12

test CHANGED
File without changes
test CHANGED
@@ -529,3 +529,29 @@
529
529
  何を変更していいのやら全くわからないです。
530
530
 
531
531
  何が違ってますでしょうか。
532
+
533
+
534
+
535
+ ```familycontroller
536
+
537
+ def create
538
+
539
+ @family = Family.new(family_params)
540
+
541
+ @family.get_serial
542
+
543
+ @family.user_id = current_user.id
544
+
545
+ if @family.save
546
+
547
+ redirect_to family_path(@family), notice: "登録完了しました。"
548
+
549
+ else
550
+
551
+ render :new
552
+
553
+ end
554
+
555
+ end
556
+
557
+ ```

3

エラーに次ぐエラーで申し訳ありません。

2020/08/15 22:38

投稿

ahiru3
ahiru3

スコア12

test CHANGED
File without changes
test CHANGED
@@ -519,3 +519,13 @@
519
519
  となります。
520
520
 
521
521
  methodが定義されていないのでしょうか。。。
522
+
523
+
524
+
525
+ 追記③
526
+
527
+ ![](368ef4ee40acacf73654ed28d01d3ad9.png)
528
+
529
+ 何を変更していいのやら全くわからないです。
530
+
531
+ 何が違ってますでしょうか。

2

新しいエラーのため追記します。

2020/08/14 21:59

投稿

ahiru3
ahiru3

スコア12

test CHANGED
File without changes
test CHANGED
@@ -419,3 +419,103 @@
419
419
  ```
420
420
 
421
421
  です。
422
+
423
+
424
+
425
+
426
+
427
+
428
+
429
+
430
+
431
+ 追記2
432
+
433
+ ```familymodel
434
+
435
+ class Family < ApplicationRecord
436
+
437
+ belongs_to :user
438
+
439
+ attachment :image
440
+
441
+
442
+
443
+ with_options presence: true do
444
+
445
+ validates :category
446
+
447
+ validates :molph
448
+
449
+ validates :image
450
+
451
+ validates :fathermolph
452
+
453
+ validates :mothermolph
454
+
455
+ validates :hatchdate
456
+
457
+ validates :sex
458
+
459
+ validates :weight
460
+
461
+ validates :feature
462
+
463
+ end
464
+
465
+
466
+
467
+ def get_serial
468
+
469
+ month = Date.parse(individualnumber+"/1").strftime("%y年%m月-")
470
+
471
+ number = Family.where("individualnumber like ?","#{month}%").
472
+
473
+ order(individualnumber: :desc).
474
+
475
+ first.individualnumber[/月-(\d+)/,1].succ
476
+
477
+ self.individualnumber = month + number
478
+
479
+ end
480
+
481
+ end
482
+
483
+ ```
484
+
485
+
486
+
487
+ ```familycontroller
488
+
489
+ def create
490
+
491
+ @family = Family.new(family_params)
492
+
493
+ @family = get_serial
494
+
495
+ @family.user_id = current_user.id
496
+
497
+ if @family.save
498
+
499
+ redirect_to family_path(@family), notice: "登録完了しました。"
500
+
501
+ else
502
+
503
+ render :new
504
+
505
+ end
506
+
507
+ end
508
+
509
+ ```
510
+
511
+
512
+
513
+ 上記ように変更しました。
514
+
515
+ ![エラー内容](27056ca2830389daa68aec930c41d31f.png)
516
+
517
+
518
+
519
+ となります。
520
+
521
+ methodが定義されていないのでしょうか。。。

1

回答いただいた内容で更新するとエラーが発生しましたので追記します。

2020/08/13 21:15

投稿

ahiru3
ahiru3

スコア12

test CHANGED
File without changes
test CHANGED
@@ -353,3 +353,69 @@
353
353
 
354
354
 
355
355
  よろしくお願いします。
356
+
357
+
358
+
359
+
360
+
361
+ 追記
362
+
363
+
364
+
365
+ ```familiescontroller
366
+
367
+ def create
368
+
369
+ @family = Family.new(family_params)
370
+
371
+ @family.get_serial
372
+
373
+ @family.user_id = current_user.id
374
+
375
+ if @family.save
376
+
377
+ redirect_to family_path(@family), notice: "登録完了しました。"
378
+
379
+ else
380
+
381
+ render :new
382
+
383
+ end
384
+
385
+ end
386
+
387
+
388
+
389
+ def get_serial
390
+
391
+ month = Date.parse(individualnumber+"/1").strftime("%Y年%m月-")
392
+
393
+ number = where("individualnumber like ?"."#{month}%").
394
+
395
+ order(individualnumber: :desc).
396
+
397
+ first.individualnumber[/月-(\d+)/,1].succ
398
+
399
+ self.individualnumber = month + number
400
+
401
+ end
402
+
403
+ ```
404
+
405
+ 上記のように記載しました。
406
+
407
+ すると下記のエラーが出ています。
408
+
409
+
410
+
411
+ app/controllers/families_controller.rb:28: syntax error, unexpected tSTRING_BEG
412
+
413
+ app/controllers/families_controller.rb:28: syntax error, unexpected ')', expecting end
414
+
415
+ ```28
416
+
417
+ number = where("individualnumber like ?"."#{month}%").
418
+
419
+ ```
420
+
421
+ です。