製作的擴展,已經寫好的軌道項目。在一個ERB文件我有:奇怪的無法訪問在ActionController的元素::參數
在相應的控制器我有:
def create
p params
print "\n"
testing = params[:uploaded_planner]
print testing.class
print "\n"
print testing
print "\n"
print testing['@original_filename']
print testing[:original_filename]
print "\n"
end
和:
def plan
@uploaded_planners = UploadedPlanner.all #there are two i inserted via rails console..
end
那些打印輸出是
{"utf8"=>"✓", "_method"=>"patch", "authenticity_token"=>"UxgdziS9PwY/SAaOMj4upXzSTf5brOT4R9x+paMNNlxehYwY34OT7hvdGJXwvK/cffPIjYOwdf1h+MndJh6LBg==", "uploaded_planner"=>{"pic"=>#<ActionDispatch::Http::UploadedFile:0x007f9b9b3bc5e8 @tempfile=#<Tempfile:/var/folders/hc/67y08p7s3ws6rsjl5rlxk3f00000gn/T/RackMultipart20170801-25372-godqfg.xlsx>, @original_filename="AF_CSX_DISTRIBUTE_NUMBERS.xlsx", @content_type="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", @headers="Content-Disposition: form-data; name=\"uploaded_planner[pic]\"; filename=\"AF_CSX_DISTRIBUTE_NUMBERS.xlsx\"\r\nContent-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\r\n">}, "commit"=>"Upload", "controller"=>"viacom", "action"=>"create"}
ActionController::Parameters
{"pic"=>#<ActionDispatch::Http::UploadedFile:0x007f9b9d529190 @tempfile=#<Tempfile:/var/folders/hc/67y08p7s3ws6rsjl5rlxk3f00000gn/T/RackMultipart20170801-25372-baavaj.xlsx>, @original_filename="AF_CSX_DISTRIBUTE_NUMBERS.xlsx", @content_type="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", @headers="Content-Disposition: form-data; name=\"uploaded_planner[pic]\"; filename=\"AF_CSX_DISTRIBUTE_NUMBERS.xlsx\"\r\nContent-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\r\n">}
底部的兩個打印語句是零。我的語句不挖掘雙嵌套散列,並檢索我試圖得到的值。我嘗試了每種組合的語法組合,我知道嘗試從散列中獲得這些值,但無濟於事 - 每次我什麼都得不到。我知道在我的控制器中的「create」方法被調用 - 這是我如何得到這個打印輸出 - 它只是我不能在「uploaded_planner」的哈希得到任何值(又名不能索引到測試變量)。我無法弄清楚如何以任何方式引用這些成員,這些都是我真正想要的成員。
下面是官方ActionController的DOC:
http://api.rubyonrails.org/v4.2/classes/ActionController/Parameters.html#method-i-extract-21
它聲稱,我可以這樣做:
params[:key]
,我可以......第一次。但在那之後,我有對象仍然是一個ActionController的::參數(如我的.class print語句所示),但我不能這樣做,同樣的索引,以獲得第二個散列的成員。這是非常令人沮喪,因爲我知道我需要在打印輸出的數據,但無法獲得這些數據,並對其進行操作(沒有去超級JANK和讀取打印輸出莫名其妙......不是一個好辦法做到的事情)。對此有何想法?
添加控制器,看看有什麼'@uploaded_planners [0]' –