【发布时间】:2016-05-11 07:08:44
【问题描述】:
我在尝试执行 Railscasts #111 高级搜索中概述的搜索时遇到错误。
我现在的代码:
搜索控制器
class SearchesController < ApplicationController
def new
@search = Search.new
end
def create
@search = Search.new(search_params)
end
def show
@search = Search.find(params[:id])
end
private
def search_params
params.require(:search).permit(:firstname, :surname, :phonenumber, :department, :division, :address, :note)
end
end
show.html.erb
<h1>Search Results</h1>
<%= render @search.votsphonebookresults %>
搜索.rb
class Search < ActiveRecord::Base
def votsphonebookresults
@votsphonebookresults ||= find_votsphonebookresults
end
private
def find_votsphonebookresults
votsphonebookresults = votsphonebookresults.where("firstname like ?", "%#{firstname}%") if firstname.present?
votsphonebookresults = votsphonebookresults.where("surname like ?", "%#{surname}%") if surname.present?
votsphonebookresults = votsphonebookresults.where("OfficeNumber like ?", "%#{OfficeNumber}%") if phonenumber.present?
votsphonebookresults = votsphonebookresults.where("Department like ?", "%#{Department}%") if department.present?
votsphonebookresults = votsphonebookresults.where("Division like ?", "%#{Division}%") if division.present?
votsphonebookresults = votsphonebookresults.where("Address like ?", "%#{Address}%") if address.present?
votsphonebookresults = votsphonebookresults.where("Note like ?", "%#{Note}%") if note.present?
votsphonebookresults
end
end
我在尝试执行搜索时收到“nil:NilClass”错误的“未定义方法 `where'”。搜索表单没问题,但提交会导致 'where' 出现问题
我正在搜索 MS SQL Server 中的数据库。我可以在我的应用程序的其他任何地方很好地显示该数据库中的条目。
【问题讨论】:
标签: ruby-on-rails sql-server railscasts