我想將<%= controller.controller_name %> <%= controller.action_name %>的值傳遞給 javascript,如下所示
return (document.body.className = " load-done
'<%= controller.controller_name %>' '<%= controller.action_name %>'
");
但它不起作用,任何人都可以就此提出建議嗎?
uj5u.com熱心網友回復:
問題是缺乏資訊,所以我猜你想將一些資料直接從控制器傳遞到你的 JS 代碼。有兩種“正常”的方法可以做到這一點。第一種是將控制器作為 http 呼叫直接呼叫,并將回應作為 json 回傳。第二種方法是將資料作為類變數傳遞,然后您可以從 html 檔案的 views 檔案夾中訪問它。在這里,您可以將變數傳遞給 div、span 或其他任何東西,并通過在 JS 中找到 html 標記來在 JS 中訪問它,如下所示:
# controllers:
def some_controller_method
@temp = 'example data, could be any type'
end
# views
<%= content_tag :div, class: "some_class", data: {temp: @temp} do %>
<% end %>
# JS
$('.some_class').data('temp')
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/471110.html
