Helper方法不会更新Controllers实例变量
|
我在页面控制器中定义了instance_variable,并使用一些字符串对其进行了初始化。
我在页面中包含了该instance_variable。
它出现了。
大!
如果我的页面包含某些_header布局,并使用Pages Helper方法更新了instance_variable,则我的页面将显示原始字符串,而不是更新的字符串。
日志显示_header是在页面之前呈现的,因此它确实调用了Pagers Helper方法,该方法在呈现我的页面之前更新了instance_variable。
那么,为什么该页面不包含更新的字符串?
我是RoR的新手,试图了解它的工作原理。
提前致谢!
编辑:
好。即使rails服务器日志显示,也已在渲染页面之后渲染了yield页面,看起来好像已经在它们之前渲染了页面。
如果我在第一个渲染页面中更改instance_variable,则更改后的值在所有后续渲染页面中均可用,但在yield页面中则不变,即使yield介于渲染\之间(在application.html.erb中) ,Rails服务器日志甚至显示了最后渲染的那个。
编辑:
由于某些原因,我使用了\ layouts \这个词,而我不得不使用\ partials \这个词。
没有找到相关结果
已邀请:
2 个回复
抵舵
如果您使用\'replace \'方法(字符串对象具有这种方法),则您的控制器可能会看到更改。如果仅将新对象分配给变量,则控制器将看不到更改。但是不要太信任我,因为我通常不修改视图中的对象。只是测试一下。
钨蜡唤喉晤
帮手:
应用布局:
屈服视图:
标头部分:
页脚部分:
输出: