前提・実現したいこと
プログラミング初学者です。お力貸していただけたら嬉しいです。
rails で ajax で get をしたあと、javascriptでHTMLを作り、データを送信したいです。
その際に、tokenがないというエラーが出ており困っております。
javascriptで作成したsubmitを押したときに、tokenを追加する方法はあるでしょうか?
(ちなみにこちらのデータはsession中のidと紐づけたいので、protect_from_forgery with: :null_sessionはできれば使いたくないです。マークアップ変なのはお許しください!)
発生している問題・エラーメッセージ
ActionController::InvalidAuthenticityToken
該当のソースコード
ruby
1$(function(){ 2 function buildHTML(result){ 3 var html = `<div class="result-wrapper"> 4 <form action="/shops" method="post"> 5 店舗名: <input class="result-name" type="text" name="name" value="${result.name}" readonly><br> 6 住所: <input class="result-adress" type="text" name="address" value="${result.address}" readonly><br> 7 写真: <img src="${result.image_url.shop_image1}"> 8 <input type="hidden" name="imageurl" value="${result.image_url.shop_image1}"> 9 <input type="submit" value="登録する"> 10 </form> 11 </div>` 12 return html; 13 } 14 15 $("#submit-button").on("click", function(){ 16 var input = $("#search-input").val(); 17 18 $.ajax({ 19 type: 'GET', 20 url: 'https://api.gnavi.co.jp/RestSearchAPI/v3/?keyid=************************', 21 data: {freeword: input}, 22 dataType: 'json', 23 }) 24 .done(function(results){ 25 console.log(results); 26 $(".container").empty(); 27 results.rest.forEach(function(result){ 28 var html = buildHTML(result); 29 $(".container").append(html); 30 }) 31 }) 32 }) 33});
試したこと
ヘッダーに
<%= csrf_meta_tags %>
は追加しております。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。