0

だから、私はこのrubyファイルを持っていて、それをRailsプロジェクトで使用したいのですが、どこから、どのように開始するかについての手がかりがありません。includeとrequireについて読んだことがあります。一部のサイトでは、requireを使用するように指示されています。使用するものには、インクルードが含まれ、両方を使用することもありますが、それだけです。ビューから呼び出したいのですが、それが最適かどうかわからないので、必要なコードをどこに配置するか、ファイルのメソッドを使用する方法、およびファイルをプロジェクトディレクトリのどこに配置するかを知りたいです。これがばかげた質問である場合は申し訳ありませんが、レールはまだ私にとって新しいものです。私はあなたが提供できるすべての助けに感謝します。御時間ありがとうございます。

私が使用しようとしているファイルは、Faustino Vasquez limonによって作成された単語に数値を変換するファイルであり、完全なクラスです。

numeros.rb

class Numlet

  def initialize(numero)

    @numero = numero.to_s.reverse.split("")
    @i = 0
    @j = 0
    @parte1 = []
    @parte2 = []
    @especial = ""
    @numlet = []
    @bandera=0
    @bandera1=0
    @a =[["Uno","Dos","Tres","Cuatro","Cinco","Seis","Siete","Ocho","Nueve"],
      ["Diez","Veinte","Treinta","Cuarenta","Cincuenta","Sesenta","Setenta","Ochenta","Noventa"],       
      ["Ciento","Doscientos","Trescientos","Cuatrocientos","Quinientos","Seiscientos","Setecientos","Ochocientos","Novecientos"]]

  end


  def especial 

    @numlet[@j]  = case @especial
    when "11"then  "Once"
    when "12"then  "Doce"
    when "13"then  "Trece"
    when "14"then  "Catorce"
    when "15"then  "Quice"
    when "16"then  "Dieciseis"
    when "17"then  "Diecisiete"
    when "18"then  "Dieciocho"
    when "19"then  "Diecinueve"
    when "21"then  "Veintiun"
    when "22"then  "Veintidos"
    when "23"then  "Veintitres"
    when "24"then  "Veinticuatro"
    when "25"then  "Veinticinco"
    when "26"then  "Veintiseis"
    when "27"then  "Veintisite"
    when "28"then  "Veintiocho"
    when "29"then  "Veintinueve"
    else return 0
    end
  end

  def repetir

    case @numero.length
    when 0..3 then @parte1[0] = @numero[0..@numero.length]
    when 4..6 then @parte1[0] = @numero[0..2];@parte1[1] = @numero[3..@numero.length]
    when 7..9 then @parte1[0] = @numero[0..2];@parte1[1] = @numero[3..5]; @parte1[2] = @numero[6..@numero.length]
    else return 0
    end
  end

  def convierte

    @bandera1=0
    @i=0
    case @bandera
    when 1 then @numlet[@j]="mil";@j+=1
    when 2 then (@parte2.length==1 and @parte2[0]==1) ? @numlet[@j]="millon" : @numlet[@j]="millones";@j+=1
    end
    @especial = [@parte2[@i+1],@parte2[@i]].to_s
    if especial != 0
      @i+=2
      @j+=1
    else
      if @parte2[@i].to_s =="1"
        @numlet[@j]="Un"
        @i+=1
        @j+=1
      end
    end
    while @i < @parte2.length
      if @parte2[@i].to_i ==0
        @i+=1
        @bandera1+=1
      else
        if @parte2.length != 1 and @bandera1 ==0
          if @i == 1
            @numlet[@j]="y"
            @j+=1
          end
        end
        @numlet[@j] = @a[@i][@parte2[@i].to_i-1]
        if  @i == 2  and @bandera1==2 and @numlet[@j]=="Ciento"
          @numlet[@j]="Cien"
        end
        @j+=1
        @i+=1    
      end
    end
    @bandera+=1
  end

  def termina

    @numlet.reverse.join(" ")
  end

  def a_letra

    if  repetir != 0
      @parte1.each do |@parte2|
        convierte
      end
        print "#{termina}\n"
    else
      print "Este numero no puede ser convertido\n"
    end

   end

end

それが私のアプリから使いたいものです。お時間をいただきありがとうございます。

4

1 に答える 1

0

これは独自のクラスであり、Railsビューの1つで使用したいので、そのコードを使用する方法はたくさんあります。

私自身の方法で、この方法を選択する場合としない場合があります。そのファイルをlibディレクトリrequireに含めてから、表示するビューのヘルパーファイルに含めます。

これにより、そのファイルからメソッドと初期化子にアクセスできるようになり、ビューで使用するメソッドをヘルパーに作成できるようになります。

于 2013-02-11T19:29:03.687 に答える