Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails在操作外部的控制器中渲染_Ruby On Rails_Ruby_Controller - Fatal编程技术网

Ruby on rails Rails在操作外部的控制器中渲染

Ruby on rails Rails在操作外部的控制器中渲染,ruby-on-rails,ruby,controller,Ruby On Rails,Ruby,Controller,在我在rails中构建的API中,我在其他控制器继承的基础控制器中实现了一些参数检查和错误处理(以避免重复代码) 在我的错误处理函数中,我使用适当的JSON返回、状态代码等调用render 但是,渲染不起作用,因为我没有在操作本身中调用渲染。该操作仅调用参数检查函数,如果存在错误,该函数反过来调用错误处理程序 我尝试使用RenderAnywhere gem,但没有成功(它的说明中没有包含Gemfile安装,当尝试这样做时,它会抛出一个错误。我不想安装系统范围的gem) 除了动作本身之外,在控制器

在我在rails中构建的API中,我在其他控制器继承的基础控制器中实现了一些参数检查和错误处理(以避免重复代码)

在我的错误处理函数中,我使用适当的JSON返回、状态代码等调用
render

但是,渲染不起作用,因为我没有在操作本身中调用渲染。该操作仅调用参数检查函数,如果存在错误,该函数反过来调用错误处理程序

我尝试使用RenderAnywhere gem,但没有成功(它的说明中没有包含Gemfile安装,当尝试这样做时,它会抛出一个错误。我不想安装系统范围的gem)


除了动作本身之外,在控制器中渲染的其他方式还有哪些,而不必在每个动作中编写冗余的
render
调用?或者在每个操作中为错误冗余调用
render
,这是最好的方法吗?

您的意思是在控制器之外进行渲染还是只执行操作?如果您仅在操作之外尝试了过滤器前后的
?是否要在模型中渲染它?如果您指的是,它会解释如何使用它(包括Gemfile说明和简单的使用示例)。您是否可以发布相关的控制器和错误处理代码?我大体上明白你的意思,但不知道具体情况就很难回答这个问题。不过,如果错误处理函数在模型中,听起来你最好从错误处理函数返回一些东西到控制器,并基于此进行渲染。它如何“调用错误处理程序”方法调用?它给你什么输出?