Ransack 搜索和排序不适用于某些属性
Ransack search and sorting not working with some attributes
Ransack 搜索在某些属性下工作正常:
Spree::Callback.all.ransack(name_cont: 1).result
SELECT "spree_callbacks".* FROM "spree_callbacks" WHERE ("spree_callbacks"."name" ILIKE '%1%')
并且不要与他人合作...
Spree::Callback.all.ransack(phone_cont: 1).result
SELECT "spree_callbacks".* FROM "spree_callbacks"
怎么了?
P.S。 Callback是我在Spree模块下的自定义模型
回调对象示例:
Spree::Callback.first
Spree::Callback Load (1.4ms) SELECT "spree_callbacks".* FROM "spree_callbacks" ORDER BY "spree_callbacks"."id" ASC LIMIT 1
=> #<Spree::Callback:0x00000009eb68c0 id: 39,
phone: "123",
comment: "",
created_at: Wed, 12 Jul 2017 03:37:03 UTC +00:00,
updated_at: Wed, 12 Jul 2017 03:41:34 UTC +00:00,
name: "123",
processed: true>
@nuT707 - 为了能够使用 ransack gem 进行搜索,您首先必须将要执行搜索的所有字段列入白名单。
所以在你的 callback.rb
模型中添加以下行 -
self.whitelisted_ransackable_attributes |= %w[phone]
现在试着用 ransack 搜索。
希望对您有所帮助。
Ransack 搜索在某些属性下工作正常:
Spree::Callback.all.ransack(name_cont: 1).result
SELECT "spree_callbacks".* FROM "spree_callbacks" WHERE ("spree_callbacks"."name" ILIKE '%1%')
并且不要与他人合作...
Spree::Callback.all.ransack(phone_cont: 1).result
SELECT "spree_callbacks".* FROM "spree_callbacks"
怎么了?
P.S。 Callback是我在Spree模块下的自定义模型
回调对象示例:
Spree::Callback.first
Spree::Callback Load (1.4ms) SELECT "spree_callbacks".* FROM "spree_callbacks" ORDER BY "spree_callbacks"."id" ASC LIMIT 1
=> #<Spree::Callback:0x00000009eb68c0 id: 39,
phone: "123",
comment: "",
created_at: Wed, 12 Jul 2017 03:37:03 UTC +00:00,
updated_at: Wed, 12 Jul 2017 03:41:34 UTC +00:00,
name: "123",
processed: true>
@nuT707 - 为了能够使用 ransack gem 进行搜索,您首先必须将要执行搜索的所有字段列入白名单。
所以在你的 callback.rb
模型中添加以下行 -
self.whitelisted_ransackable_attributes |= %w[phone]
现在试着用 ransack 搜索。
希望对您有所帮助。