質問: Event.find params[:id] 14 end 15 Parameters: {"id"=>" + calEvent", "format"=>"id"} 以上がエラー内容です。 またブラウザのURLは http://localhost:3000/events/%20+%20calEvent.id となっており、やりたいのはこのEventレコードのidカラムに入っている1を挿入し http://localhost:3000/events/1 としたいです。 引き続きよろしくお願いします。
回答: 掲載されたコントローラーの`show`メソッドのコードが、質問用にゼロから手入力したものではなく、`EventsController.rb`ファイルからコピペしたものであれば、以下のとおり修正してみてください。 修正前:`@event = Event.find params[:id]` 修正前:`@event = Event.find(params[:id])` (`params[:id]`をかっこで囲んでいます) ---(以下、2017年10月6日追記)--- `alert '会場: ' + calEvent.id`でidが取得できて、`location.href ='/events/ + calEvent.id '`でidが取得できない理由ですが、前者は`calEvent.id`がシングルクオテーション(')で囲まれていないのに対して、後者では`'/events/ + calEvent.id '`全体がシングルクオテーション(')で囲まれているため、`'/events/ + calEvent.id '`が文字列として解釈されています。 ブラウザのURL欄に表示されている`http://localhost:3000/events/%20+%20calEvent.id`という文字列をURLエンコード・デコード|日本語URLをサクッと変換 | すぐに使える便利なWEBツール | Tech-Unlimitedでデコードすると、`http://localhost:3000/events/ calEvent.id`という文字列に変換されています。そのため、`location.href ='/events/ + calEvent.id '`の部分を`location.href ='/events/' + calEvent.id`に修正してみてください。 ---(追記ここまで)---