teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

6

ありがとうございます。記載しました。

2020/12/31 07:05

投稿

piroshki470
piroshki470

スコア0

title CHANGED
File without changes
body CHANGED
@@ -62,6 +62,7 @@
62
62
 
63
63
 
64
64
  ```ここに言語を入力
65
+ <Itemモデル
65
66
  <Item.rb>
66
67
  class Item < ApplicationRecord
67
68
  extend ActiveHash::Associations::ActiveRecordExtensions
@@ -88,9 +89,22 @@
88
89
  end
89
90
  end
90
91
  ```
92
+ ```ここに言語を入力
93
+ <Chargeモデル>
94
+ class Charge < ActiveHash::Base
95
+ self.data = [
96
+ { id: 1, name: '--' },
97
+ { id: 2, name: '着払い(購入者負担)' },
98
+ { id: 3, name: '送料込み(出品者負担)' },
99
+ ]
100
+ end
91
101
 
102
+ include ActiveHash::Associations
103
+ has_many :items
104
+ ```
92
105
 
93
106
 
107
+
94
108
  【エラー内容を調べた結果】
95
109
  current_scopeメソッドが定義されていない、というエラーであるようでしたが、current_scopeメソッドを検索してもそれらしいものはなく、どのように定義するのか教えていただけますでしょうか?
96
110
  @item.saveの部分を消してみたりしましたが、出品ボタンを押した後、出品情報が保存されないという状態になってしまったので、やはりこのエラーを解決しなければいけないと考えております。

5

アドバイスありがとうございます。言語部分・エラー内容で困っている部分を修正しました。

2020/12/31 07:05

投稿

piroshki470
piroshki470

スコア0

title CHANGED
File without changes
body CHANGED
@@ -3,7 +3,6 @@
3
3
 
4
4
  ![イメージ説明](10e3f01bec1ec670530dff23d330750f.png)
5
5
 
6
-
7
6
  ```ここに言語を入力
8
7
  <items_controller.rb>
9
8
  class ItemsController < ApplicationController
@@ -35,7 +34,10 @@
35
34
  end
36
35
  end
37
36
 
37
+ ```
38
38
 
39
+
40
+
39
41
  ```ここに言語を入力
40
42
  <migrationファイル>
41
43
  class CreateItems < ActiveRecord::Migration[6.0]
@@ -57,6 +59,8 @@
57
59
  end
58
60
  ```
59
61
 
62
+
63
+
60
64
  ```ここに言語を入力
61
65
  <Item.rb>
62
66
  class Item < ApplicationRecord
@@ -85,6 +89,8 @@
85
89
  end
86
90
  ```
87
91
 
92
+
93
+
88
94
  【エラー内容を調べた結果】
89
95
  current_scopeメソッドが定義されていない、というエラーであるようでしたが、current_scopeメソッドを検索してもそれらしいものはなく、どのように定義するのか教えていただけますでしょうか?
90
96
  @item.saveの部分を消してみたりしましたが、出品ボタンを押した後、出品情報が保存されないという状態になってしまったので、やはりこのエラーを解決しなければいけないと考えております。

4

アドバイスありがとうございます。言語部分・エラー内容で困っている部分を修正しました。

2020/12/31 02:11

投稿

piroshki470
piroshki470

スコア0

title CHANGED
File without changes
body CHANGED
@@ -35,7 +35,29 @@
35
35
  end
36
36
  end
37
37
 
38
+
38
39
  ```ここに言語を入力
40
+ <migrationファイル>
41
+ class CreateItems < ActiveRecord::Migration[6.0]
42
+ def change
43
+ create_table :items do |t|
44
+ t.references :user ,null: false ,foreign_key: true
45
+ t.string :image ,null: false
46
+ t.string :name ,null: false
47
+ t.text :introduction ,null: false
48
+ t.integer :price ,null: false
49
+ t.integer :category_id ,null: false
50
+ t.integer :status_id ,null: false
51
+ t.integer :charge_id ,null: false
52
+ t.integer :prefecture_id ,null: false
53
+ t.integer :ship_date_id ,null: false
54
+ t.timestamps
55
+ end
56
+ end
57
+ end
58
+ ```
59
+
60
+ ```ここに言語を入力
39
61
  <Item.rb>
40
62
  class Item < ApplicationRecord
41
63
  extend ActiveHash::Associations::ActiveRecordExtensions
@@ -61,27 +83,6 @@
61
83
  validates :ship_date_id, numericality:{ other_than: 1 }
62
84
  end
63
85
  end
64
-
65
-
66
- ```ここに言語を入力
67
- <migrationファイル>
68
- class CreateItems < ActiveRecord::Migration[6.0]
69
- def change
70
- create_table :items do |t|
71
- t.references :user ,null: false ,foreign_key: true
72
- t.string :image ,null: false
73
- t.string :name ,null: false
74
- t.text :introduction ,null: false
75
- t.integer :price ,null: false
76
- t.integer :category_id ,null: false
77
- t.integer :status_id ,null: false
78
- t.integer :charge_id ,null: false
79
- t.integer :prefecture_id ,null: false
80
- t.integer :ship_date_id ,null: false
81
- t.timestamps
82
- end
83
- end
84
- end
85
86
  ```
86
87
 
87
88
  【エラー内容を調べた結果】

3

マークダウンの使い方を修正しました。

2020/12/31 02:10

投稿

piroshki470
piroshki470

スコア0

title CHANGED
File without changes
body CHANGED
@@ -62,7 +62,7 @@
62
62
  end
63
63
  end
64
64
 
65
- ```
65
+
66
66
  ```ここに言語を入力
67
67
  <migrationファイル>
68
68
  class CreateItems < ActiveRecord::Migration[6.0]
@@ -83,7 +83,6 @@
83
83
  end
84
84
  end
85
85
  ```
86
- ```
87
86
 
88
87
  【エラー内容を調べた結果】
89
88
  current_scopeメソッドが定義されていない、というエラーであるようでしたが、current_scopeメソッドを検索してもそれらしいものはなく、どのように定義するのか教えていただけますでしょうか?

2

マークダウンの使い方を修正しました。

2020/12/31 02:09

投稿

piroshki470
piroshki470

スコア0

title CHANGED
File without changes
body CHANGED
@@ -35,6 +35,7 @@
35
35
  end
36
36
  end
37
37
 
38
+ ```ここに言語を入力
38
39
  <Item.rb>
39
40
  class Item < ApplicationRecord
40
41
  extend ActiveHash::Associations::ActiveRecordExtensions
@@ -61,6 +62,8 @@
61
62
  end
62
63
  end
63
64
 
65
+ ```
66
+ ```ここに言語を入力
64
67
  <migrationファイル>
65
68
  class CreateItems < ActiveRecord::Migration[6.0]
66
69
  def change
@@ -80,6 +83,7 @@
80
83
  end
81
84
  end
82
85
  ```
86
+ ```
83
87
 
84
88
  【エラー内容を調べた結果】
85
89
  current_scopeメソッドが定義されていない、というエラーであるようでしたが、current_scopeメソッドを検索してもそれらしいものはなく、どのように定義するのか教えていただけますでしょうか?

1

アドバイスありがとうございます。言語部分・エラー内容で困っている部分を修正しました。

2020/12/31 02:08

投稿

piroshki470
piroshki470

スコア0

title CHANGED
@@ -1,1 +1,1 @@
1
- エラー解決希望<undefined method `current_scope' for Charge:Class>
1
+ 商品出品機能実装中に発生した<undefined method `current_scope' for Charge:Class>のエラーを解決したい
body CHANGED
@@ -4,15 +4,89 @@
4
4
  ![イメージ説明](10e3f01bec1ec670530dff23d330750f.png)
5
5
 
6
6
 
7
+ ```ここに言語を入力
8
+ <items_controller.rb>
9
+ class ItemsController < ApplicationController
7
- ![イメージ説明](3206ef411a8c80fc8829a91fabe723c7.png)
10
+ before_action :move_to_signed_in, except: [:index]
11
+ def index
12
+ @item = Item.all
13
+ end
8
14
 
15
+ def new
16
+ @item = Item.new
17
+ end
9
18
 
10
- NomethodErrorということなので定義されていない[current_scope]なるものがある、
11
- ということなのかと理解したのですが、どこにもその記述はしておらず、
12
- これまではこのエラー該当箇所の記述でこのエラーが出たことがなかったので路頭に迷って
13
- おります。
19
+ def create
14
- いじろうにもcurrent_scopeが何かもわからずにいるのでご教示いただけますと幸いです。
15
- 情報が足りなかったら申し訳ありませんが宜しくお願いします。
20
+ @item = Item.new(item_params)
21
+
22
+ @item.save
23
+ redirect_to root_path
24
+ end
16
25
 
26
+ private
27
+ def move_to_signed_in
28
+ unless user_signed_in?
29
+ redirect_to '/users/sign_in'
30
+ end
31
+ end
32
+
33
+ def item_params
34
+ params.require(:item).permit(:name, :image, :introduction,:price,:category_id,:status_id,:charge_id,:prefecture_id,:ship_date_id).merge(user_id: current_user.id)
35
+ end
36
+ end
37
+
38
+ <Item.rb>
39
+ class Item < ApplicationRecord
40
+ extend ActiveHash::Associations::ActiveRecordExtensions
41
+ belongs_to :category
42
+ belongs_to :status
43
+ belongs_to :charge
44
+ belongs_to :prefecture
45
+ belongs_to :ship_date
46
+ has_one_attached :image
47
+ belongs_to :user
48
+ has_one :buy_record
49
+
50
+
51
+ with_options presence: true do
52
+ validates :image
53
+ validates :name
54
+ validates :introduction
55
+ validates :price
56
+ validates :category_id, numericality:{ other_than: 1 }
57
+ validates :status_id, numericality:{ other_than: 1 }
58
+ validates :charge_id, numericality:{ other_than: 1 }
59
+ validates :prefecture_id, numericality:{ other_than: 1 }
60
+ validates :ship_date_id, numericality:{ other_than: 1 }
61
+ end
62
+ end
63
+
64
+ <migrationファイル>
65
+ class CreateItems < ActiveRecord::Migration[6.0]
66
+ def change
67
+ create_table :items do |t|
68
+ t.references :user ,null: false ,foreign_key: true
69
+ t.string :image ,null: false
70
+ t.string :name ,null: false
71
+ t.text :introduction ,null: false
72
+ t.integer :price ,null: false
73
+ t.integer :category_id ,null: false
74
+ t.integer :status_id ,null: false
75
+ t.integer :charge_id ,null: false
76
+ t.integer :prefecture_id ,null: false
77
+ t.integer :ship_date_id ,null: false
78
+ t.timestamps
79
+ end
80
+ end
81
+ end
82
+ ```
83
+
84
+ 【エラー内容を調べた結果】
85
+ current_scopeメソッドが定義されていない、というエラーであるようでしたが、current_scopeメソッドを検索してもそれらしいものはなく、どのように定義するのか教えていただけますでしょうか?
86
+ @item.saveの部分を消してみたりしましたが、出品ボタンを押した後、出品情報が保存されないという状態になってしまったので、やはりこのエラーを解決しなければいけないと考えております。
87
+
88
+
89
+
90
+
17
91
  ![イメージ説明](fbef04ccf9d2d7a5ddf56308f3948a6c.png)
18
92
  ここにより詳細な情報を記載してください。