Ruby on rails 从Rails中的另一个视图将另一个控制器操作渲染为部分
在我看来,我试图从另一个控制器(例如controllerB)渲染部分(例如在controllerA中)。分部正在使用静态内容正确呈现,但尝试访问实例变量时失败。实例变量由controllerB中的一个操作实例化,但在简单地呈现部分对象时,永远不会调用此操作Ruby on rails 从Rails中的另一个视图将另一个控制器操作渲染为部分,ruby-on-rails,Ruby On Rails,在我看来,我试图从另一个控制器(例如controllerB)渲染部分(例如在controllerA中)。分部正在使用静态内容正确呈现,但尝试访问实例变量时失败。实例变量由controllerB中的一个操作实例化,但在简单地呈现部分对象时,永远不会调用此操作 是否有一种方法可以在渲染部分之前调用操作?请尝试使用此方法 render 'posts/show' 我将在posts\u控制器内呈现show action。您能试试这个吗 render 'posts/show' 我将在posts\u控制器
是否有一种方法可以在渲染部分之前调用操作?请尝试使用此方法
render 'posts/show'
我将在posts\u控制器内呈现show action。您能试试这个吗
render 'posts/show'
我将在posts\u控制器内呈现show action。呈现模板/部分时,它使用的实例变量必须存在。如果模板/分部属于另一个操作,则正在执行的操作负责初始化分部使用的所有实例变量 一般来说,一个动作直接执行其他控制器的动作不是一个好主意。引导流程的正确方法是使用
redirect\u to
redirect_to post_url(@post)
但是,由于您的关注点是部分的,只需初始化当前操作中所有必要的变量。当您呈现模板/部分时,它使用的实例变量必须存在。如果模板/分部属于另一个操作,则正在执行的操作负责初始化分部使用的所有实例变量 一般来说,一个动作直接执行其他控制器的动作不是一个好主意。引导流程的正确方法是使用
redirect\u to
redirect_to post_url(@post)
但是,由于您的问题是局部的,只需初始化当前操作中所有必要的变量。在出现错误的地方共享一些代码。可能是您的控制器操作、视图、部分。请在出现错误的地方共享一些代码。可能是您的控制器操作、视图、部分。