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

Rails技术需求:在Index视图添加跳转至对应Project视图的链接

嘿,我来帮你搞定这个在Rails Index视图里添加Project详情页链接的问题!

首先看你现在的代码,index.html.erb里的链接写法有点小问题:

<%= link_to project.name, project_path(:id) %>

这里的:id只是个符号,不是当前循环里项目的实际ID,点击后会跳转到/project/:id这种无效路径,而不是具体的项目页面(比如/projects/1)。

正确的链接写法

你有两种简洁且符合Rails约定的写法可选:

  1. 直接传入project对象(最推荐)
    Rails的路由辅助方法会自动从对象里提取id,生成正确的详情页URL:
<td class="ellipsis">
  <%= link_to project.name, project %>
</td>
  1. 显式指定项目ID
    如果你更习惯明确传参,也可以这样写:
<td class="ellipsis">
  <%= link_to project.name, project_path(project.id) %>
</td>

额外的路由优化建议

看你的routes.rb,你同时写了自定义路由和resources :projects。其实resources :projects已经自动生成了标准的RESTful路由(包括GET /projects/:id对应projects#show),所以你之前的自定义路由get '/project/:id', to: 'projects#show'是多余的,甚至可能引发路由冲突。建议保留resources :projects,删掉重复的自定义路由,这样路由结构更规范。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:16:19