私はRuby on Railsが初めてです。collection_action
ActiveAdminからクラスを呼び出そうとしています。コードは次のとおりです(アプリ/管理者/モデル):
collection_action :status_race, :method => :post do
#Do some import work..
redirect_to :class => :import_route
end
そして、これは私が呼び出したいクラスのコードです(app/lib/route):
class ImportRoute
def initialize
@seperator = " "
@time_format = "%d-%m-%y"
end
def run(filename)
puts "Running route import file"
raise "File" + filename + "doesn't not exist" unless File.exist(filename)
ri = RouteImporter.find(:name => self.class.name)
if(ri.nil?)
puts "Error, file doesn't exists"
end
CSV.foreach(filename, {:col_sep => @seperator}) do |row|
if row.lenght >5
ri.country_name = row[0] + " " + row[1]
ri.type = row[2]
ri.company = row [3]
else
ri.country_name = row[0]
ri.type = row[1]
ri.company = row[2]
ri.date = row[4].gsub(";", " ")
end
end
end
終わり
クラスを呼び出すために使用redirect_to
していましたが、機能していません。その方法についての手がかりがありません。何か案が?ありがとう!