質問編集履歴
3
文法の修正
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
Ajaxがリロードしないと機能しない。
|
1
|
+
【至急】Ajaxがリロードしないと機能しない。
|
body
CHANGED
@@ -5,6 +5,8 @@
|
|
5
5
|
ActionView::Template::Error (undefined local variable or method `micropost' for #<#<Class:0x00000000051a4bb8>:0x00000000051d2888>
|
6
6
|
Did you mean? micropost_url)
|
7
7
|
```
|
8
|
+
上記のエラーは、create.js.erb,destroy.js.erbの両方に見られます。
|
9
|
+
_micropost.html.erb内でeach文を使用して、@microposts.each do |micropost|としているのですが、jsファイルにはこのmicropostが検知されず、このエラーが出てしまっているのでしょうか?
|
8
10
|
**コード**
|
9
11
|
```ruby
|
10
12
|
(favorites_controller.rb)
|
2
文法の修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,5 +1,10 @@
|
|
1
1
|
**現状**
|
2
2
|
railsチュートリアルに沿って、アプリケーション開発をしています。いいね機能を搭載し、ajaxをつけてようとしているのですが、リロードしないと表示が変わりません。submitのボタンを押すと、その場では何も変化がないような挙動をし、リロードすると、いいね機能が実行され、画面にも変化が現れる状態です。以下に、関連していると思われるコードを載せておきます。ネット上にあるサイトを参考にして、turbolinksのgem,jsでの読み込みをコメントアウトしてあります。ほかに必要な情報があれば、手間をおかけしますがよろしくお願いします。読みづらいコードかもしれませんが、どうかよろしくお願いいたします。
|
3
|
+
**エラーコード**
|
4
|
+
```ruby
|
5
|
+
ActionView::Template::Error (undefined local variable or method `micropost' for #<#<Class:0x00000000051a4bb8>:0x00000000051d2888>
|
6
|
+
Did you mean? micropost_url)
|
7
|
+
```
|
3
8
|
**コード**
|
4
9
|
```ruby
|
5
10
|
(favorites_controller.rb)
|
1
文法の修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,7 +1,28 @@
|
|
1
1
|
**現状**
|
2
|
-
railsチュートリアルに沿って、アプリケーション開発をしています。いいね機能を搭載し、ajaxをつけてようとしているのですが、リロードしないと表示が変わりません。submitのボタンを押すと、その場では何も変化がないような挙動をし、リロードすると、いいね機能が実行され、画面にも変化が現れる状態です。以下に、関連していると思われるコードを載せておきます。ネット上にあるサイトを参考にして、turbolinksのgem,jsでの読み込みをコメントアウトしてあります。読みづらいコードかもしれませんが、どうかよろしくお願いいたします。
|
2
|
+
railsチュートリアルに沿って、アプリケーション開発をしています。いいね機能を搭載し、ajaxをつけてようとしているのですが、リロードしないと表示が変わりません。submitのボタンを押すと、その場では何も変化がないような挙動をし、リロードすると、いいね機能が実行され、画面にも変化が現れる状態です。以下に、関連していると思われるコードを載せておきます。ネット上にあるサイトを参考にして、turbolinksのgem,jsでの読み込みをコメントアウトしてあります。ほかに必要な情報があれば、手間をおかけしますがよろしくお願いします。読みづらいコードかもしれませんが、どうかよろしくお願いいたします。
|
3
3
|
**コード**
|
4
4
|
```ruby
|
5
|
+
(favorites_controller.rb)
|
6
|
+
|
7
|
+
def create
|
8
|
+
@micropost = Micropost.find_by(id: params[:micropost_id])
|
9
|
+
current_user.like(@micropost)
|
10
|
+
respond_to do |format|
|
11
|
+
format.html { redirect_back(fallback_location: root_path) }
|
12
|
+
format.js
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
def destroy
|
17
|
+
@micropost = Micropost.find(params[:micropost_id])
|
18
|
+
current_user.unlike(@micropost)
|
19
|
+
respond_to do |format|
|
20
|
+
format.html { redirect_back(fallback_location: root_path) }
|
21
|
+
format.js
|
22
|
+
end
|
23
|
+
end
|
24
|
+
```
|
25
|
+
```ruby
|
5
26
|
(favorites/_like_button.html.erb)
|
6
27
|
|
7
28
|
<%= form_for(current_user.favorites.build, remote: true) do |f| %>
|