How can I include wildcards in Ruby include? to query for non-exact (but similar) matches? -


i'm making dating app. each user has own traits (usertraits) , traits desires in others (desiredtraits). user can check if traits match desired user.

@user's desired trait show view (current_user checks desired trait of @user)

- @current_user_traits = usertrait.where("user = ?", current_user) - @user_desired_trait = desiredtrait.find(params[:id])  - if @current_user_traits.map {|a| a.trait_name}.include? @user_desired_trait.trait_name   @matching_traits = usertrait.where("user = ? , trait_name ?", current_user, "%#{@user_desired_trait.trait_name}%") - else    | "sorry, don't have traits desired user" 

however, fills @matching_traits if there exact match between @current_user_trait.trait_name , @user_desired_trait.trait_name, don't know how put wildcards in include? query.


update:

there 2 traits models belong user: usertraits , desiredtraits.

i used grep on array, returns true if string same or if string in grep shorter 1 in array:

- if @current_user_traits.map {|a| a.trait_name}.grep(/#{@user_desired_trait.trait_name}/) 

how can basic "full text search fuzzy query" on array view (like does)?

if you're happy wildcard match works same way like in sql, it's worth noting can grep enumberable.

so have list of traits find desirable:

traits = ["funny", "smart", "has adorable dimples"] 

and wanted search "adorable":

trait_name = "adorable" traits.grep /#{trait_name}/ #=> ["has adorable dimples"]  traits.grep(/#{trait_name}/).any? #=> return true/false, include? 

Comments