我正在創建搜索表單,並且創建了名爲用戶的搜索控制器和其他控制器。 這裏是search_controller未定義的方法名稱爲nil:NilClass用於搜索表單
def search
if params[:q]
@users = User.q(params[:q]).order("created_at DESC").paginate(page: params[:page])
else
@users = User.all.order('created_at DESC').paginate(page: params[:page])
end
end
下面的代碼是搜索表單
<%= form_tag search_path, :method => 'get' do %>
<%= text_field_tag :q, params[:q] %>
<%= submit_tag "Search", :name => nil %>
<% end %>
但是,當我搜索我得到錯誤。這裏是users_controller代碼
class UsersController < ApplicationController
before_action :logged_in_user, only: [:index, :edit, :destroy]
def index
@users = User.paginate(page: params[:page])
end
def show
@user = User.find(params[:id])
@archings = @user.archings.paginate(page: params[:page])
end
def new
@user = User.new
end
def destroy
User.find(params[:id]).destroy
flash[:success] = "User deleted"
redirect_to users_url
end
def create
@user = User.new(user_params)
if @user.save
log_in @user
flash[:success] = "Welcome to the Arch"
redirect_to @user
else
render 'new'
end
end
def edit
@user = User.find(params[:id])
end
private
def user_params
params.require(:user).permit(:name, :email, :password,
:password_confirmation)
end
def logged_in_user
unless logged_in?
store_location
flash[:danger] = "Please log in."
redirect_to login_url
end
end
end
誰能告訴我在哪裏,我在做錯誤? PS:我是初學者,也是新手入門。
請發佈stacktrace爲了找到文件和錯誤行 –
http://i.imgur.com/vzC4FrO.png – rootx
爲什麼你切斷所有的多汁? – Borsunho