我熟悉在两个领域进行查找:
user = User.find_by_username_and_email(params[:username], params[:email])
但是,我想检索一条用户名或电子邮件等于同一字段的记录。就像是:
user = User.find_by_username_or_email(params[:text])
我知道这是行不通的。这可能吗?任何帮助表示赞赏。
我熟悉在两个领域进行查找:
user = User.find_by_username_and_email(params[:username], params[:email])
但是,我想检索一条用户名或电子邮件等于同一字段的记录。就像是:
user = User.find_by_username_or_email(params[:text])
我知道这是行不通的。这可能吗?任何帮助表示赞赏。
只是为了扩展@xdazz 的答案,您可以使用以下语法来允许通过相同的值搜索任意数量的字段,而无需重复该值:
user = User.where('username = :text or email = :text', :text => params[:text]).first
例如,当您搜索邮政地址字段时非常有用。
你可以使用.where
:
user = User.where('username = ? or email = ?', params[:text], params[:text]).first