除了好主意之外,我想知道如何从部分内部访问:locals哈希而不是同名的局部变量?
我试图尝试探索一种可能更有效的模式,我经常发现自己涉及默认的部分值:
:locals => { :opts => {:myvar => @myvar}}
然后在里面部分:
opts.reverse_merge!(defaults)
写作会更加清晰(特别是当opts变得更多时):
:locals => { :myvar => @myvar}
然后在里面部分:
opts => defaults.merge(local_hash)
答案 0 :(得分:8)
您可以通过调用locals
来访问已呈现部分的local_assigns
哈希中的所有内容。但是,我认为你会发现有更多的进入而不是你期望的(因为Rails为了你的方便而创建了一些自己的本地分配)。所以你的方法可能需要调整......但这就是你要做的。