在 erb 页面中,如果使用了 render,那么 rails 会先去处理 render 方法。
<%= obj.attr %> <%= render 'xxx', key: obj %>
这个时候就会出现问题,相当于 render 方法中的 obj 替换掉了原来的 obj(重新声明了 obj)。
从没遇到过,有更多信息吗?
#1 楼 @Rei 我写练习无意中碰到的,不过估计别人不会犯这个错误,像我这么写也是存在问题的,就是发现了 erb 处理器会先处理 render 方法。嘿嘿。
#2 楼 @shangrenzhidao 这个写法很平常,但是从没听闻过有问题,会不会是你搞错了。
#3 楼 @Rei 应该是命名问题。
你是说当前页面的 obj 被覆盖掉还是 partial 里面的 obj
obj
partial
#5 楼 @Kabie 当前页面的 obj 被覆盖,不好意思没有叙述明白
在 view 里面修改 obj 本身就是有问题的做法