0

以下のように、レールアプリケーションにモデル「Geo」があります。Rails アプリケーションで text.txt ファイルを保存する場所と、特定のコード行で呼び出すアドレス File.open(" /india/text.txt")

注: text.txt は、txt ファイルを含むデータです。

 class Geo < ActiveRecord::Base
      attr_accessible :country_iso2, :country_name, :district, :latitude, :locality, :longitude, :state_iso2, :state_name, :street, :taluka, :zip

    def self.create_or_save(locality_s, zip_s, state_s, district_s)
        g = Geo.where(zip: zip_s).first
        g = Geo.new(zip: zip_s) if g.blank?
        g.locality = locality_s
        g.state_name = state_s
        g.district = district_s
        g.save
    end

    def self.mine
        File.open("/india/text.txt") do |f|
            f.each_line do |line|
                li = line.split(":")
                    locality = li[0].to_s.strip
                    zip = li[1].to_s.strip
                    state = li[2].to_s.strip
                    district = li[3].to_s.strip
                Geo.create_or_save(locality, zip, state, district)
            end 
        end
    end
end
4

1 に答える 1

0

私はあなたが使いたいと思うRails.root

Rails.root.join('app', 'assets', 'txt', 'india', 'text.txt')

/app/assets/txt/india/text.txt にマップされます

于 2013-05-26T19:20:20.053 に答える