2012-02-29 10 views
0

私はアルファベットの各アルファベットのために、レールにlink_toメソッドを持っています(早いうちには 日後にループに入れます)。私は のコンソールのために同じものを持っていて、その1つはうまくいくが、 の文字のための私のページのものは動作しない。link_toアルファベット順の検索

私は私のモデルでは、以下があります。

def index 
user_relation = case params[:username].present? 
    when true then User.where(:username => params[:username]) 
    else User 
    end 

    @users = user_relation.paginate :page=>params[:page], :order => 'created_at desc', :per_page => 10 
end 

を、これが私のインデックスの例です:

<%= link_to 'A', users_path(:username => 'A'), {:style=>'color:#FFFFFF', :class => "tabel-3"}%> 

私はAをクリックした場合、それはそこにいるにもかかわらず、何も結果を返しません。 多くのユーザーが文字Aを使用していましたが、たとえば にAdrianShawという名前を入れて、 をクリックすると正確なユーザーが返されます。それは検索 ですが、完全一致の結果のみで、完全な単語よりも小さいものは です。返されません。

最初に という文字Aを持つすべてのユーザーを取得できるように、どうすればよいですか?

答えて

1

あなたのような演算子で検索する必要があります:LIKE演算子で、あなたがparams[:username]で始まるユーザ名を持つレコードを検索%

when true then User.where("username LIKE ?", "#{params[:username]}%") 

+0

明らかに!私にそれを指摘するためのCheeres Matteo。ありがとう。 – user1222136

+0

あなたは大歓迎です! :) –

関連する問題