已经学会了一招, 从view代码入手, 思路就会很清晰. 就算做错, 都能被报错信息指引着走向正途😂
就开了admin/job/index开始加数据列. 然后报错了...Orz


不要一步登天, 先抓数出来

嗯, 这样成功了显示了...好, 那么下一步就是把这个"数"给弄成链接 link_to 来呈现
现在开始是我自己乱玩的思路
Q 要弄成"link_to"就要考虑路径问题. 需要routes添加啥咩? 还是特殊写法能work...?
D 考虑到已经有resume的数据表model, 也有resume的controller, 所以只要touch一个view页面撸代码就可以了? 因为既不是new也不是edit, 看下来最可能的是resume/show啦, 那么就用这个路径试试看
首先用"job_resume_path"会报错, 🤔发现这里的resume是单数...我们需要的算是某个job旗下全部的resumes情况...所以应该算是要用resume的index而非show...
改成index的"job_resumes_path"路径后, 报错

去resume的controller补定义去了...然后还是同样的报错画面

继续debug, 去admin/jobs/index改路径. 结果就成功了!

现在想试试看, 把resume/index定义去掉, 是否报错 😏
妈呀...删掉了def index, 网页没有问题...妈耶...然后尝试点击的话, 就会提醒你找不到index了哈哈哈哈哈哈 还是要补回去哈哈哈哈
然后继续报错, 显示我写的resume/index定义有误

被教程花式打脸啊哈哈哈哈

如何才能定义清楚"此job旗下的上传简历们"呢...不是all...
尝试了好多花样, 都报错...所以去看了教程, 然后发现自己从一开始就错咧...
教程打脸
首先, 路径不是用我的" job_resumes_path(job)". 其次, 不是我想象中那样, resume有了model也有了controller就不用管了, 还是要生成一个新的controller去抓数据的...妈呀...这个错误好爽!!!哈哈哈哈哈
因此处需求要用的"resume数据抓取"是在admin这个平行世界里的"job旗下的"...所以routes也果然要写一个新的, 不是乱用老的routes, 老的routes功能逻辑不一样啊...老的routes人家是前台的"job旗下的resume" ! 我们这边处理的是"后台"的显示哦 Orz
因为在admin/job的旗下所以routes要写的位置也要很清楚哦! 层级别写错了~跟"job旗下的member"同层级哦!!!

所以之前生成的resumes controller就别动了, 我猜测人家是"前台的controller"要负责"前台的resume数据抓取需求"所以要改回乱玩前的原样. 我们要重新生成一个resumes controller是admin/job旗下的, 来专门负责"后台的resume数据抓取"
有趣的是, 虽然resume在routes里面层级分明是在 "平行世界 admin" 旗下的 "job" 旗下. 但是在生成controller的时候, 却跟job是"同层级"的待遇!!!
我估计是因为controller们的"背后靠山"是model来的, 而光看model而言, "jobs model"与"resume model"是同层级的关系. 都是数据表格来的, 没有"先天的层级关系", 顶多两个数据表格被人为"后天"设定一些"关联关系" 所以

而且这个controller因为是"后台的" 所以继承了一堆后台的controller才有的限制条件们. 千万别忘记了, 这才是区别它跟"前台的"地方

最后才发现我一开始纠结的错误, 如何保障"此job下的resumes"...原来错两个地方, 一个大小写, 一个前面加"@"才行, 我估计是因为resume后面能跟的"大写"只能是"Resume", 要"Job"是逻辑不通的, 所以要用job只能"@job"去用它.

最后还是觉得attachment的部分写的厉害, 去看教程吧, 要养成 "只记录错误" 的习惯哈哈哈
网友评论