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

質問編集履歴

5

欲しい答えをもらいやすくするため

2020/09/30 18:21

投稿

kdh
kdh

スコア26

title CHANGED
File without changes
body CHANGED
File without changes

4

わかりやすくするため

2020/09/30 18:21

投稿

kdh
kdh

スコア26

title CHANGED
File without changes
body CHANGED
@@ -1,4 +1,4 @@
1
- #### railsでタスクを完了したら経験値をもらって閾値を超えたらレベルアップするアプリを作っています。まずは経験値を取得するところから着手しようと思うのですが、その記述がわからなくて詰んでいます。タスクにポイントが設定されていてそれを消したときにポイントを経験値として取得していく流れです。したがってtasksコントローラーのdestroyアクションが実行されるときに獲得する流れにしたいです。
1
+ #### railsでタスクを完了したら経験値をもらって閾値を超えたらレベルアップするアプリを作っています。まずは経験値を取得するところから着手しようと思うのですが、その記述がわからなくて詰んでいます。タスクにポイントが設定されていてそれが完了したときにポイントを経験値として取得していく流れです。
2
2
  ```SQL
3
3
  SELECT sum(tasks.point)` FROM users
4
4
  LEFT JOIN tasks ON users.id = tasks.user_id

3

欲しい答えをもらいやすくするため

2020/09/30 16:43

投稿

kdh
kdh

スコア26

title CHANGED
File without changes
body CHANGED
@@ -5,4 +5,49 @@
5
5
  GROUP BY users.id
6
6
  ```
7
7
  このようにSQLで取得できるとアドバイスをもらったのですがsequel proで値は確認できるものの、どのようにアプリの実装に使うのかがわかりません。
8
- これと違う方法(ruby)もしくはこの使い方を教えていただけたらと思います。
8
+ これと違う方法(ruby)もしくはこの使い方を教えていただけたらと思います。
9
+
10
+ 以下テーブルになります
11
+
12
+ ```
13
+ ## users テーブル
14
+
15
+ | Column | Type | Options |
16
+ | ------------ | ---------- | ----------------------- |
17
+ | name | string | null: false |
18
+ | email | string | null: false |
19
+ | password | string | null: false |
20
+ | player_level | integer | null: false, default: 1 |
21
+ | level_id | references | foreign_key: true |
22
+
23
+ ## Association
24
+
25
+ - has_many :tasks
26
+ - belongs_to :level
27
+
28
+
29
+ ## tasks テーブル
30
+
31
+ | Column | Type | Options |
32
+ | ------- | ---------- | ------------------------------ |
33
+ | content | string | null: false |
34
+ | user_id | references | foreign_key: true |
35
+ | point | integer | null: false, default: 1 |
36
+
37
+ ## Association
38
+
39
+ - belongs_to :user
40
+
41
+
42
+ ## レベルテーブル
43
+
44
+ | Column | Type | Options |
45
+ | --------- | ---------- | ------------------------------ |
46
+ | number | integer | |
47
+ | threshold | integer | |
48
+
49
+ ## Association
50
+
51
+ - has_many :users
52
+
53
+ ```

2

欲しい答えをもらいやすくするため

2020/09/30 14:43

投稿

kdh
kdh

スコア26

title CHANGED
File without changes
body CHANGED
@@ -1,4 +1,4 @@
1
- #### railsでタスクを完了したら経験値をもらって閾値を超えたらレベルアップするアプリを作っています。まずは経験値を取得するところから着手しようと思うのですが、その記述がわからなくて詰んでいます。タスクにポイントが設定されていてそれを消したときにポイントを経験値として取得していく流れです。
1
+ #### railsでタスクを完了したら経験値をもらって閾値を超えたらレベルアップするアプリを作っています。まずは経験値を取得するところから着手しようと思うのですが、その記述がわからなくて詰んでいます。タスクにポイントが設定されていてそれを消したときにポイントを経験値として取得していく流れです。したがってtasksコントローラーのdestroyアクションが実行されるときに獲得する流れにしたいです。
2
2
  ```SQL
3
3
  SELECT sum(tasks.point)` FROM users
4
4
  LEFT JOIN tasks ON users.id = tasks.user_id

1

より絞るため

2020/09/30 14:09

投稿

kdh
kdh

スコア26

title CHANGED
File without changes
body CHANGED
File without changes