[英]Find filtered record with Ember.js and Rails
我正在尝试在我的Rails后端中添加一个“ where”过滤器:
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'):
app / controllers / labels_controller.rb:13:在`index'中
编辑
这是我的标签架构:
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
您知道为什么它不使用“ labels”。“ uid”吗?
无法解释为什么它不起作用,但是这里是我的解决方案:
def index
@label = Label
if params[:filter].present?
@label = @label.where("uid = ?", params[:filter][:uid])
end
@label = @label.all
render json: @label
end
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.