几周前我开始在 Rails 中编码,但我不知道为什么会出现这个错误。我使用 Devise 进行登录,使用 Formtastic 进行表单。该应用程序正常工作,直到我添加 Acts_like_tags_on 并重置数据库。
错误消息:UsersController#show 中的 NoMethodError
undefined method `username' for nil:NilClass
app/controllers/users_controller.rb:19:in `show'
Request
Parameters:
{"id"=>"sign_in"}
这就是我在用户控制器中的内容:
def show
@user = User.find_by_username(params[:id])
@title = @user.username
respond_to do |format|
format.html # show.html.erb
format.json { render json: @user }
end
end
任何输入都会有所帮助。谢谢!
将@user = User.find_by_username(params[:id]) 编辑为:@user = User.find_by_user(params[:id])
错误变成:undefined method `find_by_user' for #
用户表中确实存在用户名列。