如何从部分内部而不是具有相同名称的局部变量中访问:locals哈希?

pix*_*rth 7 ruby-on-rails partials

除了一个好主意之外,我想知道如何从部分内部访问:locals哈希而不是同名的局部变量?

我试图尝试探索一种可能更有效的模式方法,我经常发现自己涉及默认的部分值:

:locals => { :opts => {:myvar => @myvar}}
Run Code Online (Sandbox Code Playgroud)

然后在里面部分:

opts.reverse_merge!(defaults)
Run Code Online (Sandbox Code Playgroud)

编写它会更加清晰(特别是当opts变得更多时):

:locals => { :myvar => @myvar}
Run Code Online (Sandbox Code Playgroud)

然后在里面部分:

opts => defaults.merge(local_hash)
Run Code Online (Sandbox Code Playgroud)

pdo*_*obb 8

您可以locals通过调用访问散列中的所有内容到渲染的部分local_assigns.但是,我认为你会发现有更多的进入而不是你期望的(因为Rails为了你的方便而创建了一些自己的本地分配).所以你的方法可能需要调整......但这就是你要做的.