[英]Javascript variable inside Erb Tag
我正在嘗試在erb標簽內的js.erb文件中訪問一個javascript變量。 例如
my_variable = window.location.pathname.split(“ /”)[2];
@project = Project.find(my_variable)
因此,有一種方法可以在“查找”助手中傳遞“ my_variable”。
另一種解決方案是獲取URI,將項目提取並將其解析為JSON-在js.erb中重新解析並將文件內容發送給客戶端。
這樣,您不必在服務器上執行JS,並且仍將項目保留在所需的JS文件中。
該答案說明了如何獲取不同Rails版本的請求URI。
對於Rails 3.2或Rails 4+
您應該使用
request.original_url
來獲取當前URL。在http://api.rubyonrails.org/classes/ActionDispatch/Request.html#method-i-original_url中記錄了此方法,但是如果您感到好奇,可以使用以下方法:
def original_url base_url + original_fullpath end
對於Rails 3:
您可以編寫
"#{request.protocol}#{request.host_with_port}#{request.fullpath}"
,因為request.url
現在已棄用。
由於您似乎需要特定的url段,因此您可以通過簡單地調用original_url.split('/')[2]
輕松地用ruby模仿JS實現。
如您所見,您可以輕松地使用https://github.com/sstephenson/execjs進行操作
require "execjs"
ExecJS.eval "'red yellow blue'.split(' ')"
您可以輕松獲得返回值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.