所以昨天我问了一个关于为当前用户获取项目的问题。好吧,我遇到了一个问题。在这里看到那个线程。所以今天我正在为用户显示类别和任务以及任何讨论。当我加载页面以查看此内容时,我得到了:
NoMethodError in UsersController#show
undefined method `projects' for #<User:0xad5823f4>
Rails.root: /home/adam/Documents/Aptana Studio 3 Workspace/StartPoint
Application Trace | Framework Trace | Full Trace
app/controllers/users_controller.rb:25:in `show'
Request
Parameters:
{"id"=>"4"}
这是目前我的 users#show 方法中的内容:
def show
@projects = current_user.projects
@tasks = current_user.tasks
@categories = current_user.categories
@discussions = current_user.discussions
end
表名是项目、任务、类别和讨论。我在其他任何地方都没有问题,为什么我会看到这个错误?
如果您需要更多代码,我可以展示它。错误很明显,但我再次使用这种类型的调用来显示项目特定信息,例如项目类别或任务。这可能与我的用户与类别、讨论、任务等之间的关系有关吗?因为我确实在 show 方法中列出的每个表中都有 user_id 等等。
我也想到了这一点,今天早上开始讨论这个话题:current_user 似乎是错误的,因为如果我点击 Bobs 个人资料,我会看到我所有的东西,不是吗?它不应该是更特定于用户 ID 的东西吗?