簡體   English   中英

將變量傳遞給Javascript在Rails 4.2中不起作用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM