[英]Passing variable to Javascript doesn't work in Rails 4.2
我剛剛創建了一個簡單的Rails 4.2應用程序,用於將文件上傳到S3。 我正在嘗試遵循本文https://devcenter.heroku.com/articles/direct-to-s3-image-uploads-in-rails#submitting-and-rendering-the-images ,它看起來像在javascript中<%= @variable %>
被解析為字符串。
我試過了
這是我在/users/new
# GET /users/new
def new
@s3_direct_post = S3_BUCKET.presigned_post(key: "uploads/#{SecureRandom.uuid}/${filename}", success_action_status: 201, acl: :public_read)
@user = User.new
end
這就是我在application.js
嘗試過的
window.vaz = <%= @s3_direct_post.url %>;
但是當我做console.log(window.vaz);
我得到"<%= @s3_direct_post.url %>"
而不是實際值。
我也嘗試過gon,但是gon在Rails 4.2中有很多問題
我驗證了@s3_direct_post.url
在控制台中返回了某些內容。
將.erb擴展名添加到application.js文件(application.js.erb)。 <%= =>
是erb語法,您需要先將其作為erb文件處理,以便將<%= @s3_direct_post.url %>
評估為ruby代碼。
http://guides.rubyonrails.org/asset_pipeline.html#preprocessing
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.