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

能否在Rails的link_to方法中使用变量实现DRY代码?

你遇到的问题是直接拼接字符串会被当成静态URL,而不是调用Rails内置的路径辅助方法。解决办法是用Ruby的send方法动态调用对应的_path方法:

<%= link_to users, send("#{examples}_path") %>

原理很简单:Rails的路径辅助方法(比如users_path)本质是视图上下文里的方法,send可以接收方法名字符串,帮你动态执行这个方法,这样就能根据变量examples的值自动生成对应的路径了。

如果需要生成带参数的路径(比如单条资源的show页面),直接在send后面加参数就行:

# 假设examples的值是"user",要传递user的id
<%= link_to user.name, send("#{examples}_path", user.id) %>

这样就能实现DRY代码,不用为不同资源重复写几乎一样的link_to代码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 01:50:20