簡體   English   中英

Active_admin中nil:NilClass的未定義方法`original_filename'

[英]undefined method `original_filename' for nil:NilClass in active_admin

盡管我在其他博客中也看到了這個問題,但我無法使其適用。 我的觀點:

<%= semantic_form_for :routes_status_race, :url => status_race_admin_routes_path do |f| %>
    <% contact_array = Contact.all.map {|contact| [contact.name, contact.id]}%>
    <% route_importer_array = RouteImporter.all.map {|importer| [importer.name, importer.id]}%>
    <%= f.inputs do%>
        <%= f.input :contact, :as => :select, :collection => Contact.all %>
        <%= f.input :route_import, :as => :select, :collection => RouteImporter.all %>
        <%= f.input :uploaded_data, :action => :status_race, :multipart => true, :as => :file %>
    <%end%>
    <input name='commit' type='submit' method='post' value='Import'/>
<%end%>

我的控制器:

collection_action :status_race, :method => :post do

    uploaded_io = params[:uploaded_data].original_filename

    File.open(Rails.root.join('app/importers', 'uploads', uploaded_io.original_filename), 'w') do |file|
      file.write(uploaded_io.read)
    end

    RoutesQuickcom.new.run(uploaded_io.original_filename)
    render "status_race"
  end

我在控制器中收到此錯誤:nil:NilClass的未定義方法“ original_filename”的方法,我不知道如何解決它,將不勝感激,謝謝!

您調用過original_filename 3次,刪除兩個original_filename ,它將起作用:

collection_action :status_race, :method => :post do

  uploaded_io = params[:uploaded_data].original_filename

  File.open(Rails.root.join('app/importers', 'uploads', uploaded_io), 'w') do |file|
    file.write(uploaded_io.read)
  end

  RoutesQuickcom.new.run(uploaded_io)
  render "status_race"
end

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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