Rails 小小心得

shangrenzhidao · 2014年06月06日 · 最后由 shangrenzhidao 回复于 2014年06月07日 · 1777 次阅读

在 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

#5 楼 @Kabie 当前页面的 obj 被覆盖,不好意思没有叙述明白

在 view 里面修改 obj 本身就是有问题的做法

需要 登录 后方可回复, 如果你还没有账号请 注册新账号