2016-12-19 3 views
0

私は、ユーザ入力をフォームに入れて、レール上のデータベースに保存するページを持っています。これらの入力値を、私が書いて/ lib /に置いたRubyアプリケーションで使用する必要があります。これは、ページ上の要素に戻すために別のデータベースに格納する必要がある新しい値を生成します。Rubyファイルで使用するRailsデータベースから値を取得する

私は現在、プロンプトから値を取得してからget.chompメソッドを使用していますが、これは格納された値の使い方を学ぶまでは単なるプレースホルダーです。

colours_controller.rb入力がに格納されていることを今

class ColoursController < ApplicationController 
    def home 
    @colour = Colour.new 
    end 
    def create 
    @colour = Colour.new(colour_params) 
    if @colour.save 
     redirect_to root_path 
    else 
     redirect_to root_path, notice: "Error." 
    end 
    end 
    private 
    def colour_params 
    params.require(:colour).permit(:hue, :sat, :luma, :number) 
    end 
end 

答えて

0

:私はここにプログラミングバックエンドだけに新たなんだ

は、私が入力を保存するために使用している私のコントローラですColour.find...などのアプリケーションを使用して、データベース内のどこからでも簡単にクエリを実行できます。

はしかし、ここlibディレクトリ内のファイルを使用する際に注意すべきいくつかのことです:新しいファイルがあるために

  1. 常に自動ロードパスなどconfig.autoload_paths += [config.root.join('lib')]

  2. にlibディレクトリ内のすべてのファイルを追加します後で自動ロードされ、ファイルの名前とそれに含まれるクラス/モジュールが同じであることを確認します。これは、ファイルがlib/colour_paint.rbという名前の場合、モジュールはmodule ColourPaint; end

+0

レール5の場合は、 'config.eager_load_paths'を使用します。 – 31piy

0

なければならないことを意味しますが、引数として渡すことができます。

たとえば:あなたルビーファイルには、メソッドとfooというクラスを持っていると言うbarそして、それは次のようになります。あなたのColoursController.rb 0で

Foo.rb

class Foo 

    def bar(colour) 
    # do something 
    end 

end 
def create 
    @colour = Colour.new(colour_params) 
    if @colour.save 
    foo = Foo.new # instatiate an instance of the foo class 
    foo.bar(@colour) # call the bar method and pass the colour variable 
    redirect_to root_path 
    else 
    redirect_to root_path, notice: "Error." 
    end 
end 
+0

私のコントローラーの色は@colourですか? – Lacomus

+0

あなたのOPに投稿したことは何ですか? – Brad

関連する問題