2016-05-11 7 views
0

で濾過レコードを検索:私はそうやって私のRailsのバックエンドで「どこで」フィルタを追加しようとしているEmber.jsとRails

def index 
    @label = Label 
    if params[:filter].present? 
     @label = @label.where(uid: params[:filter]) 
    end 

    @label = @label.all 

    render json: @label 
    end 

を問題は、私は、このSQL要求を取得するということです

Label Load (1.0ms) SELECT "labels".* FROM "labels" WHERE "uid"."uid" = 'VALUE' 

そして"UID"。 "UID"はエラー

ActiveRecord::StatementInvalid (SQLite3::SQLException: no such column: uid.uid: SELECT "labels".* FROM "labels" WHERE "uid"."uid" = 'VALUE'): 

アプリ/コントローラ/ラベをスローしますls_controller.rb:13:それは"ラベル" を使用doens'tなぜ

create_table "labels", force: :cascade do |t| 
    t.string "name" 
    t.string "uid",  null: false 
    t.datetime "created_at", null: false 
    t.datetime "updated_at", null: false 
    end 

あなたが知っている "UID":ここでは `指数」

EDIT

私のラベルスキーマで

+0

あなたがラベルmodel' 'で' uid'列を持っていますか。代わりにIDであると確信しています。 – VKatz

+0

私のフロントエンドから送られたuid(ユーザーID)でフィルタリングしようとしています。私はもうユーザーテーブルを持っていません。私のユーザーは別のデータベースにいます。 –

+0

私は上記のクエリをレールコンソールでも実行できないと信じています... – VKatz

答えて

0

は、それが機能しなかった理由を説明するが、ここでは私の解決策はできません:

def index 
    @label = Label 

    if params[:filter].present? 
     @label = @label.where("uid = ?", params[:filter][:uid]) 
    end 

    @label = @label.all 

    render json: @label 
    end 
関連する問題