【发布时间】:2014-10-18 22:58:33
【问题描述】:
我有一个User 模型。我的目标是拥有一个返回选定字段找到的users 的范围。
喜欢
scope :starts_with, ->(filter, starts_with) { where("? like ?", "#{filter}", "#{starts_with}%")}
这是我的看法:
<%= select_tag(:filter, options_for_select([["Name", "name"],
["E-mail", "email"]],
"name"), {:multiple => true}) %>
<%= text_field_tag :starts_with, params[:starts_with] %>
UPD 我这样称呼作用域:
def index
@users = User.starts_with(params[:filter, :starts_with]).paginate(page: params[:page], per_page: 40)
end
目前显示错误ArgumentError: wrong number of arguments(1 for 0)
感谢您的帮助!
【问题讨论】:
-
-
您缺少一些可以帮助您的代码。请粘贴调用范围的行(如果错误消息与范围有关)。
-
当然,更新了范围调用和错误!
标签: ruby-on-rails search scope