【问题标题】:Access non-hash value in hash Ruby - Ruby on Rails在哈希 Ruby 中访问非哈希值 - Ruby on Rails
【发布时间】:2014-04-09 15:46:09
【问题描述】:

我有以下几点:

Parameters: {"utf8"=>"✓", "authenticity_token"=>"b3+vGGBgjaxZ5W7UhJIZfqK9vz7MsAi1ipeDrDV1vgo=", "commit"=>"Upload", "remotipart_submitted"=>"true", "X-Requested-With"=>"IFrame", "X-Http-Accept"=>"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript, */*; q=0.01", "uploaded_file"=>{"uploaded_file"=>#<ActionDispatch::Http::UploadedFile:0xb5f72ac8 @tempfile=#<Tempfile:/tmp/RackMultipart20140306-2294-1ifwfm5>, @original_filename="INSTRUCTION.txt", @content_type="text/plain", @headers="Content-Disposition: form-data; name=\"uploaded_file[uploaded_file]\"; filename=\"INSTRUCTION.txt\"\r\nContent-Type: text/plain\r\n">}}

所以在这里如果我想访问参数“uploaded_file”我会去:

params[:uploaded_file]

如果我想在里面获取 upload_file 的值,我会这样做:

(params[:uploaded_file])["uploaded_file"]

哪个会返回:

<ActionDispatch::Http::UploadedFile:0xb5f72ac8

但我想知道,我应该如何访问这个 upload_file 哈希中的 @headers?

感谢您的建议! (:

PS:如果有人知道什么

&lt;ActionDispatch::Http::UploadedFile:0xb5f72ac8

意思是,如果它对某事有用,那就太棒了。 {:

【问题讨论】:

    标签: ruby-on-rails ruby file file-upload hash


    【解决方案1】:

    ActionDispatch::Http::UploadedFile:0xb5f72ac8 指的是ActionDispatch::Http::UploadedFile 类的一个实例

    要访问@headers,请使用

    params[:uploaded_file][:uploaded_file].headers
    

    【讨论】:

    • 哇,非常感谢,但是你能解释一下为什么它是 [:uploaded_file].headers,你的意思是第一个键“uploaded_file”之后的所有变量都是它的孩子吗?
    • params[:uploaded_file][:uploaded_file] 返回ActionDispatch::Http::UploadedFile 类的对象。 headers 是类中定义的属性/属性。
    • 啊,我现在明白了,我现在看的时候没想到,这看起来很傻,谢谢{:关于那个,我可以以某种方式使用这个文件吗,比如阅读还是保存?
    • 很高兴为您提供帮助。请参阅 UploadedFile 文档:api.rubyonrails.org/classes/ActionDispatch/Http/…
    • 非常感谢您的帮助 youtube.com/watch?v=ZYeTEw_jHlo
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-02
    • 2012-08-30
    • 2012-10-28
    • 2011-04-15
    • 1970-01-01
    相关资源
    最近更新 更多