我正在创建搜索表单,并且创建了名为用户的搜索控制器和其他控制器。 这里是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