Ruby on rails 垂直轨道的部分作用

Ruby on rails 垂直轨道的部分作用,ruby-on-rails,action,partials,Ruby On Rails,Action,Partials,我问了一个关于为分部创建操作的问题。有人建议我要么在视图中包含partial,要么让它自己的视图不再是partial。这让我提出了一个截然不同的问题: 分部是否从显示它们的视图继承动作 编辑以回答第一条评论: 我的意思是,如果我有一个索引操作和索引视图,并且我在该视图中显示一个分部,分部是否理解我为索引操作定义的变量 根据编辑: 从理论上讲,您的partial知道控制器中定义的实例变量。因此,您可以简单地在部分中调用它们。 但是,将它们作为变量传递给部分变量更为常见,也是一种很好的做法: 参见选

我问了一个关于为分部创建操作的问题。有人建议我要么在视图中包含partial,要么让它自己的视图不再是partial。这让我提出了一个截然不同的问题:

分部是否从显示它们的视图继承动作

编辑以回答第一条评论:

我的意思是,如果我有一个索引操作和索引视图,并且我在该视图中显示一个分部,分部是否理解我为索引操作定义的变量

根据编辑:

从理论上讲,您的partial知道控制器中定义的实例变量。因此,您可以简单地在部分中调用它们。 但是,将它们作为变量传递给部分变量更为常见,也是一种很好的做法: 参见选项3.4.4:传递局部变量

这会使您的部分应用程序更可用。
否则,只有在使用此分部重新声明所有控制器中的变量时,才能重用分部。

是的,作为索引模板一部分的分部将知道与索引相同的变量

请记住,保持部分依赖于实例变量不是一个好的做法,因为它们可以在任何地方重用!要删除依赖项,请将它们作为局部变量发送到分部中

因此,您的index.html.slim或html或erb,无论您使用什么,都可以具有:

render 'some_partial', items: @products
或者你可以称之为:

render 'some_partial', items: @active_products
或作为完整的符号:

render partial: 'some_partial', locals: { items: @products }

希望你有这个想法

“继承操作”的确切含义是什么?编辑以回答。谢谢