gpt4 book ai didi

Ruby - rails - 用户模型上的 NoMethodError

转载 作者:太空宇宙 更新时间:2023-11-03 17:17:35 24 4
gpt4 key购买 nike

我得到了 current_user.user_id 的 NoMethodError。下面是我的用户模型表。我不知道那个错误是什么意思,因为 current_user.user_id 存在。什么可能导致这个问题?我在这里迷路了。据我所知,我没有收到此错误,我一直在向项目中添加新内容,并且在某个地方搞砸了。尽管我所做的更改与用户模式无关。如果 current_user.user_id 存在,为什么会出现 NoMethodError?不知所措和迷茫。

错误-

Started GET "/item/list" for 10.10.10.10 at 2012-05-01 23:19:19 -0400
Processing by Item#list as */*
Completed 500 Internal Server Error in 0ms

NoMethodError (undefined method `user_id' for nil:NilClass):
app/controllers/Item_controller.rb:52:in `list'

用户模型表-

mysql> explain users;
+------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| user_id | varchar(255) | YES | | NULL | |
| name | varchar(255) | YES | | NULL | |
| created_at | datetime | NO | | NULL | |
| updated_at | datetime | NO | | NULL | |
+------------+--------------+------+-----+---------+----------------+

使用 current_user.user_id 的项目 Controller -

    def list
@mylist = Item.find(:all, :select => 'item_num', :conditions => { :id => current_user.user_id, :item_status => ["New"]} )
respond_to do |format|
format.html { render :partial => 'item_list'}
format.js
end
return @mylist
end


def current_user
@current_user ||= User.find(session[:user_id]) if session[:user_id]
end

def debug
render :text => current_user.user_id #prints correct user_id
end

最佳答案

当您尝试调用 user_id 时,错误消息告诉您 current_user 设置为 nil。根据您包含的代码,我无法告诉您为什么 current_usernil,但是如果您可以找到 current_user 的方式/位置分配用户,这就是您会发现问题的地方。它与您的数据库没有任何关系。

关于Ruby - rails - 用户模型上的 NoMethodError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10407352/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com