我刚刚创建了一个简单的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
在控制台中返回了一些内容。
答案 0 :(得分:0)
将.erb扩展名添加到application.js文件(application.js.erb)。 <%= =>
是erb语法,您需要先将其作为erb文件处理,以便<%= @s3_direct_post.url %>
被评估为ruby代码。
http://guides.rubyonrails.org/asset_pipeline.html#preprocessing