-1

この要点を使用して、Rails アプリでオートコンプリート機能を構築しています。

Shoe以下のようにモデル属性にレコードを保存しています

"nike air, nike steam,nike softy ,nike strength"  #comma separated words

私のコントローラーコードは以下です

def shoes
  shoes_list = []
  shoes = Shoe.all

  shoes.each do |shoe|
    shoes_list << shoe.model.split(',')
  end unless shoes.blank?

  if params[:term]
    like = "%".concat(params[:term].concat("%"))
    # shoes = Shoe.where("model like ?", like)
    # **How i make like query to "shoes_list" same like above commented line?**
  else
    shoes = Shoe.all
  end

  list = shoes.map { |u| Hash[id: u.id, label: u.model, model: u.model] }
  render json: list
end

json 形式でレンダリングするにはどうすればよいですか?

4

1 に答える 1

1

最後に、このコードは私のために機能します。

         def shoes
              shoes_list = []
              shoes = Shoe.all
              shoes.each do |shoe|
                shoes_list << shoe.model.split(',')
              end unless shoes.blank?
              shoes_list.flatten!

              if params[:term]
                shoes = shoes_list.grep(Regexp.new( Regexp.escape(params[:term]), "i" ))
              else
                shoes = shoes_list
              end
            list = shoes.map {|u| Hash[id: u, label: u, name: u]}
            render json: list
          end

Ruby 2.0 で文字列の配列から値を取得する方法も参照してください。

于 2013-06-04T01:50:28.993 に答える