【发布时间】:2014-09-05 03:46:07
【问题描述】:
我试图从我的控制器中获取一个名为 @s3_direct_post 的变量到 Application.js.erb;这是我的控制器操作:
def new
unix_ts = Time.now().to_i.to_s
@s3_direct_post = S3_BUCKET.presigned_post(key: "#{unix_ts}_${filename}",
success_action_status: 201,
acl: :public_read)
@video = Video.new({title: "Title with hashtags"})
end
Application.js.erb 有两行引用@s3_direct_post:
url: '<%= @s3_direct_post.url %>',
和
formData: '<%= @s3_direct_post.fields.to_json.html_safe %>'
但是 erb 没有处理这些。我收到 400 Bad Request 错误,并显示以下请求的 URL 消息:
http://subdomain.mysite.com:3000/videos/%3C%=%20@s3_direct_post.url%20%%3E
关于如何将此值正确传输到 Application.js.erb 以便填充实例变量的值的任何建议?
附:如果我从每个 erb 字符串中删除引号,我会收到错误消息,指出方法 'url' 不存在,因为 @s3_direct_post 为空。
【问题讨论】:
标签: javascript ruby-on-rails ruby ruby-on-rails-3 erb