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

質問編集履歴

11

情報の修正

2016/10/24 15:29

投稿

s.k
s.k

スコア423

title CHANGED
@@ -1,1 +1,1 @@
1
- 同一ユーザー2つの投稿のいいね機能誤作動修正
1
+ いいねしてない方のいいねの表示が切り替わります
body CHANGED
File without changes

10

情報の修正

2016/10/24 15:29

投稿

s.k
s.k

スコア423

title CHANGED
File without changes
body CHANGED
@@ -98,7 +98,7 @@
98
98
 
99
99
 
100
100
 
101
- ■■■追加部分■■■
101
+ ユーザーの関連づけコードも載せておきます。
102
102
 
103
103
  【shop.rb】
104
104
  ```
@@ -127,5 +127,4 @@
127
127
  validates :shop, presence: true
128
128
  validates :shop_id, uniqueness: { scope: :micropost_id }
129
129
  validates :micropost, presence: true
130
- ```
130
+ ```
131
- ■■■追加部分■■■

9

情報修正

2016/10/24 14:47

投稿

s.k
s.k

スコア423

title CHANGED
File without changes
body CHANGED
@@ -1,22 +1,29 @@
1
1
  ###前提・実現したいこと
2
- ajaxを実装したいいね機能りたい。
2
+ クリックしたいいねリンクajaxでいいねを取消すへ切り替えたい。
3
3
 
4
+ 【元の状態】
5
+ ![](3afca48d8ee71e62c7ef2232a4b28df2.png)
6
+
7
+ test2の投稿のいいねをクリック
8
+ ![](a23ddbca982ff12e69516a98c644a0db.png)
9
+
10
+ このようにクリックしたリンクがajaxにより切り替わるようにしたいです。
11
+
4
12
  ###発生している問題・エラーメッセージ
5
13
 
6
- 同ユーザーが二つの投稿をしています。
7
- 下のいいねをクリックすると「上の」いいねの表示が変わります。
8
14
 
9
- ★追加部分★
10
- 小泉というUserがtest1とtest2という投稿をしており、
15
+ 小泉(Userモデル)というユーザーがtest1とtest2という投稿をしており、
11
- Shopがいいねをする場合です。(私は小泉という苗字ではないんですが!)
16
+ Shop(Shopモデル)というユーザー小泉のtest2の投稿にいいねをする場合です。(私は小泉という苗字ではないんですが!)
12
17
  ![](b3d2e5a273c16f54fae7fb357054c2ac.png)
13
18
 
14
19
  test2投稿のいいねを押すと
15
20
  test1の投稿のajaxが作動します。。。↓
16
21
  ![](f534357d39d515922ffaeee397acf595.png)
17
22
 
18
- ★追加部分★
19
23
 
24
+
25
+
26
+
20
27
  データの流れる順番にコードを書いていきます。
21
28
 
22
29
 

8

情報修正

2016/10/24 14:46

投稿

s.k
s.k

スコア423

title CHANGED
File without changes
body CHANGED
@@ -6,19 +6,9 @@
6
6
  同ユーザーが二つの投稿をしています。
7
7
  下のいいねをクリックすると「上の」いいねの表示が変わります。
8
8
 
9
- 【理想】
10
- (投稿2のいいねをクリック!)
11
- 投稿1:いいね
12
- 投稿2:いいね→いいねを取り消す
13
-
14
- 【現状】
15
- (投稿2のいいねをクリック!)
16
- 投稿1:いいね→いいねを取り消す←実際に切り替わるのはこちら。
17
- 投稿2:いいね(更新すると「いいねを取り消すに切り替わる」)
18
-
19
9
  ★追加部分★
20
10
  小泉というUserがtest1とtest2という投稿をしており、
21
- それを小泉以外のユーザーがいいねをする場合です。(私は小泉という苗字ではないんですが!)
11
+ Shopがいいねをする場合です。(私は小泉という苗字ではないんですが!)
22
12
  ![](b3d2e5a273c16f54fae7fb357054c2ac.png)
23
13
 
24
14
  test2投稿のいいねを押すと

7

情報追加

2016/10/24 14:37

投稿

s.k
s.k

スコア423

title CHANGED
File without changes
body CHANGED
@@ -20,6 +20,11 @@
20
20
  小泉というUserがtest1とtest2という投稿をしており、
21
21
  それを小泉以外のユーザーがいいねをする場合です。(私は小泉という苗字ではないんですが!)
22
22
  ![](b3d2e5a273c16f54fae7fb357054c2ac.png)
23
+
24
+ test2投稿のいいねを押すと
25
+ test1の投稿のajaxが作動します。。。↓
26
+ ![](f534357d39d515922ffaeee397acf595.png)
27
+
23
28
  ★追加部分★
24
29
 
25
30
  データの流れる順番にコードを書いていきます。

6

情報修正

2016/10/24 14:34

投稿

s.k
s.k

スコア423

title CHANGED
File without changes
body CHANGED
@@ -16,12 +16,12 @@
16
16
  投稿1:いいね→いいねを取り消す←実際に切り替わるのはこちら。
17
17
  投稿2:いいね(更新すると「いいねを取り消すに切り替わる」)
18
18
 
19
- ■■■追加部分■■■
19
+ 追加部分
20
20
  小泉というUserがtest1とtest2という投稿をしており、
21
21
  それを小泉以外のユーザーがいいねをする場合です。(私は小泉という苗字ではないんですが!)
22
22
  ![](b3d2e5a273c16f54fae7fb357054c2ac.png)
23
+ ★追加部分★
23
24
 
24
-
25
25
  データの流れる順番にコードを書いていきます。
26
26
 
27
27
 
@@ -125,4 +125,5 @@
125
125
  validates :shop, presence: true
126
126
  validates :shop_id, uniqueness: { scope: :micropost_id }
127
127
  validates :micropost, presence: true
128
- ```
128
+ ```
129
+ ■■■追加部分■■■

5

情報の追加

2016/10/24 14:28

投稿

s.k
s.k

スコア423

title CHANGED
File without changes
body CHANGED
@@ -16,7 +16,10 @@
16
16
  投稿1:いいね→いいねを取り消す←実際に切り替わるのはこちら。
17
17
  投稿2:いいね(更新すると「いいねを取り消すに切り替わる」)
18
18
 
19
+ ■■■追加部分■■■
20
+ 小泉というUserがtest1とtest2という投稿をしており、
21
+ それを小泉以外のユーザーがいいねをする場合です。(私は小泉という苗字ではないんですが!)
19
- ![](f10ea745bf894edf8ef91871bcbee870.png)
22
+ ![](b3d2e5a273c16f54fae7fb357054c2ac.png)
20
23
 
21
24
 
22
25
  データの流れる順番にコードを書いていきます。

4

情報追加

2016/10/24 14:23

投稿

s.k
s.k

スコア423

title CHANGED
File without changes
body CHANGED
@@ -89,4 +89,37 @@
89
89
  下のいいねをクリックすると上のいいねにデータが送られてしまう。(上のいいねはクリックするといいねを取り消すに切り替わります。下のいいねの表示は切り替わりません。)
90
90
 
91
91
  ですので、createとdestroyのデータ送信先を区別できるような方法をとればいいのか。。。?
92
- と思ったのですが、まったく想像がつかずご相談にりました。
92
+ と思ったのですが、まったく想像がつかずご相談にあがりました。。。
93
+
94
+
95
+
96
+ ■■■追加部分■■■
97
+
98
+ 【shop.rb】
99
+ ```
100
+
101
+ #sympathizes(shop-to-micropost.user)
102
+ has_many :microposts, dependent: :destroy
103
+ has_many :sympathizes, dependent: :destroy
104
+ has_many :sympathize_microposts, through: :sympathizes, source: :micropost
105
+ ```
106
+
107
+ 【micropost.rb】
108
+
109
+ ```
110
+ #sympathizes(shop-to-micropost.user)
111
+ has_many :sympathizes, dependent: :destroy
112
+ has_many :sympathize_users, through: :sympathizes, source: :shop
113
+ belongs_to :shop
114
+ ```
115
+
116
+ 【sympathize.rb】
117
+
118
+ ```
119
+ belongs_to :shop
120
+ belongs_to :micropost
121
+
122
+ validates :shop, presence: true
123
+ validates :shop_id, uniqueness: { scope: :micropost_id }
124
+ validates :micropost, presence: true
125
+ ```

3

情報修正、追加

2016/10/24 14:16

投稿

s.k
s.k

スコア423

title CHANGED
@@ -1,1 +1,1 @@
1
- 同一idでajaxを実装した場合、ajaxによるデ送信先を指定できるメソッドはありますか??
1
+ 同一ザー2つの投稿のいい機能の誤作動修正
body CHANGED
@@ -16,9 +16,13 @@
16
16
  投稿1:いいね→いいねを取り消す←実際に切り替わるのはこちら。
17
17
  投稿2:いいね(更新すると「いいねを取り消すに切り替わる」)
18
18
 
19
+ ![](f10ea745bf894edf8ef91871bcbee870.png)
20
+
21
+
19
22
  データの流れる順番にコードを書いていきます。
20
23
 
21
24
 
25
+
22
26
  ①いいねを押す
23
27
  【micropost.html.erb】(いいねのリンクが貼ってあるファイル)
24
28
  ```

2

書式の改善

2016/10/24 14:08

投稿

s.k
s.k

スコア423

title CHANGED
File without changes
body CHANGED
@@ -40,7 +40,7 @@
40
40
  <% end %>
41
41
  ```
42
42
 
43
- ↓createアクションへ
43
+ createアクションへ
44
44
  【sympathizes.controller.rb】
45
45
 
46
46
  ```
@@ -59,14 +59,14 @@
59
59
  ```
60
60
  @sympathizeにデータが入り保存される。
61
61
 
62
- ここで、下記ファイルが起動!
62
+ ここで、create.jsファイルが起動!
63
63
  【sympathizes/create.js.erb】
64
64
  ```
65
65
  $('#sympathizes_ajax').html('<%= escape_javascript(render("sympathizes/sympathize_links", micropost: @micropost)) %>');
66
66
  ```
67
67
 
68
68
  ここで、いいね→いいねを取り消すとなります。
69
- もう一度クリックすると
69
+ もう一度クリックすると
70
70
 
71
71
  【sympathizes/destroy.js.erb】
72
72
  ```

1

情報の修正

2016/10/24 13:50

投稿

s.k
s.k

スコア423

title CHANGED
File without changes
body CHANGED
@@ -1,5 +1,5 @@
1
1
  ###前提・実現したいこと
2
- ajaxを実装したいいね機能のデータ送信先メソッドで指定したい。
2
+ ajaxを実装したいいね機能を作りたい。
3
3
 
4
4
  ###発生している問題・エラーメッセージ
5
5