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

Ruby ERB嵌套<%= %>报错:link_to内调用activeLink助手方法问题

Rails导航链接激活状态设置问题解决

错误根源

你在link_to的ERB标签内部嵌套了另一层<%= %>标签,这违反了ERB的语法规则,导致模板解析报错。

正确写法

直接在class参数里调用助手方法,无需嵌套ERB标签:

<%= link_to "Home", root_path, class: "nav-link #{activeLink('home')}" %>

如果担心助手方法返回nil时产生多余空格,可以用数组拼接后去空:

<%= link_to "Home", root_path, class: ["nav-link", activeLink('home')].compact.join(' ') %>

助手方法优化

可以把方法简化成更符合Ruby风格的写法,同时建议遵循Ruby蛇形命名规范(把activeLink改成active_link):

def active_link(action_name)
  controller.action_name == action_name ? "active" : nil
end

内容的提问来源于stack exchange,提问作者ジャマル

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 15:31:41