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

回答編集履歴

2

最初の回答で問題が解決しなかったため、回答を追加した。

2017/10/06 02:36

投稿

s-show
s-show

スコア203

answer CHANGED
@@ -2,4 +2,9 @@
2
2
 
3
3
  修正前:`@event = Event.find params[:id]`
4
4
  修正前:`@event = Event.find(params[:id])`
5
- (`params[:id]`をかっこで囲んでいます)
5
+ (`params[:id]`をかっこで囲んでいます)
6
+
7
+ ---(以下、2017年10月6日追記)---
8
+ `alert '会場: ' + calEvent.id`でidが取得できて、`location.href ='/events/ + calEvent.id '`でidが取得できない理由ですが、前者は`calEvent.id`がシングルクオテーション(')で囲まれていないのに対して、後者では`'/events/ + calEvent.id '`全体がシングルクオテーション(')で囲まれているため、`'/events/ + calEvent.id '`が文字列として解釈されています。
9
+ ブラウザのURL欄に表示されている`http://localhost:3000/events/%20+%20calEvent.id`という文字列を[URLエンコード・デコード|日本語URLをサクッと変換 | すぐに使える便利なWEBツール | Tech-Unlimited](http://tech-unlimited.com/urlencode.html)でデコードすると、`http://localhost:3000/events/ calEvent.id`という文字列に変換されています。そのため、`location.href ='/events/ + calEvent.id '`の部分を`location.href ='/events/' + calEvent.id`に修正してみてください。
10
+ ---(追記ここまで)---

1

修正内容を文章で説明

2017/10/06 02:36

投稿

s-show
s-show

スコア203

answer CHANGED
@@ -1,4 +1,5 @@
1
- 掲載されたコントローラーの`show`メソッドのコードが、質問用にゼロから手入力したものではなく、`EventsController.rb`ファイルからコピペしたものであれば、以下のとおり修正しててください。
1
+ 掲載されたコントローラーの`show`メソッドのコードが、質問用にゼロから手入力したものではなく、`EventsController.rb`ファイルからコピペしたものであれば、以下のとおり修正しててください。
2
2
 
3
3
  修正前:`@event = Event.find params[:id]`
4
- 修正前:`@event = Event.find(params[:id])`
4
+ 修正前:`@event = Event.find(params[:id])`
5
+ (`params[:id]`をかっこで囲んでいます)