Railsコンソールを使用していて、末尾に空白が含まれているユーザー名のリストを生成したいと思います。構文はこんな感じになると思っていたのですが、うまくいきませんでした。私よりも優れたプログラマーが私が間違っていることを指摘できる変更はありますか?
> User.name.where("% ")
Railsコンソールを使用していて、末尾に空白が含まれているユーザー名のリストを生成したいと思います。構文はこんな感じになると思っていたのですが、うまくいきませんでした。私よりも優れたプログラマーが私が間違っていることを指摘できる変更はありますか?
> User.name.where("% ")
MySQLを使用しているかどうかはわかりませんが、アプローチは次のようになります。
User.where("name LIKE '% '")
データベースに応じて変更できます。ただし、これは少し遅いです。
1つの方法は
Job.all.select{|j| j =~ /^\d+$/}
ただし、MySQLバージョンほど効率的ではない場合があります。
もう1つの可能性は、名前付きスコープを使用して醜いSQLを非表示にすることです。
named_scope :all_digits, lambda { |regex_str|
{ :condition => [" invoice_number REGEXP '?' " , regex_str] }
}
次に、Job.all_digitsがあります。
RailsでActiveRecordを使用するときにRuby正規表現を指定する方法からの回答
あなたが持つことができます
regex_str = "\w+\s+$"
ありがとう
これが私が行ったものです:
User.all.select { |c| c.name.end_with?(" ") }
これで必要なリストができました。
それはパリトッシュの最初の答えに基づいています。一般的にはより良いリソースだと思うので、私は彼を標準的な答えにしています。私の解決策は私を助けるだけですが、彼には役立つ戦略がたくさんあります。