You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ruby on Rails脚手架CRUD应用导航栏新增链接报错:undefined local variable or method

解决Rails中undefined local variable or method 'phone_lists_new_path'的问题

嘿,这个问题我刚学Rails的时候也踩过同款坑!问题核心是你搞错了Rails RESTful路由的命名规则~

错误原因

Rails的RESTful路由对「新增页面」的命名逻辑是**new_资源单数名_path**,而不是你写的资源复数名_new_path。你能用phone_lists_path(列表页的复数路径)是符合规则的,但新增页的路径命名逻辑刚好反过来哦。

修正后的代码

把导航栏里的错误路径改成new_phone_list_path就可以正常工作了:

<%= link_to "List", phone_lists_path, class:"nav-item"%> 
<%= link_to "Add contact", new_phone_list_path, class:"nav-item"%>

验证小技巧(可选)

如果以后再对路由命名拿不准,直接在终端运行这个命令,就能看到所有可用的RESTful路由明细:

rails routes

你会看到新增页面对应的路由条目大概长这样:

new_phone_list GET    /phone_lists/new(.:format)  phone_lists#new

这样就能直观确认正确的路径名啦~

内容的提问来源于stack exchange,提问作者smit

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 08:26:00