2

Ransackを使用して、ユーザーの高度な検索を可能にしています。現在、ユーザーにはfirst_name、、、middle_nameおよびlast_name列があります。これが私のコードです:

.field
  = f.attribute_fields do |a|
    = a.attribute_select
    ...

ユーザーが上記の3つの列すべてを検索できるようにする、「名前」と呼ばれるカスタムを作成するにはどうすればよいですか?

メールや電話番号など、残りの属性もオプションとして残しておきたいので注意してください。回答を決定する際は、この点に注意してください

4

3 に答える 3

3

I would suggest to provide a dedicated column for this search. While that might create redundant data, it is way easier to search than doing some SQL magic on the existing columns.

You can easily automate the setting of this field:

before_save :set_full_name

def set_full_name
  self.full_name = [first_name, middle_name, last_name].reject(&:blank?).join(" ")
end

Then you can use the normal ransack methods to search this field.

于 2012-11-09T15:45:40.093 に答える