我在使用以下代码显示名为Submitter
的模型中的所有记录时,排除了索引页面上列出的第一行:
submitters_controller.rb:
def index
@submitters = Submitter.where(:school_id =>@current_user.school_id).order('school_id,first_name').search(params[:search])[1..-1]
respond_to do |format|
format.html # index.html.erb
format.json { render json: @submitters }
end
end
但是,我有一个需要显示第一行的搜索选项(特别是当只显示一条记录时)。有没有办法在我的Submitter.rb(模型)文件中包含具体包含第一行的文件?
submitter.rb:
def self.search(search)
if search
Submitter.find(:all, :conditions => ['first_name LIKE :search OR last_name LIKE :search', {:search => "%#{search}%"}])
else
all
end
end
我尝试将[0 ..- 1]添加到我的Submitter.rb
模型的末尾,这允许我现在进行搜索,但第一条记录仍然是隐藏的。我知道它正在工作,因为当有多个结果时,我可以在列出的第一行之后看到所有结果:
if search
Submitter.find(:all, :conditions => ['first_name LIKE :search OR last_name LIKE :search', {:search => "%#{search}%"}])[0..-1]
else
答案 0 :(得分:0)
试试这个
def self.search(search)
if search.present?
search_query = Submitter.where('first_name LIKE :search OR last_name LIKE:search', {:search => "%#{search}%"})
if search_query.count > 1
result = search_query.offset(1)
else
result = search_query
end
else
return self.all
end
result.all
end