Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/52.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 找到在带有@jobs的respond_上加载的文件_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails 找到在带有@jobs的respond_上加载的文件

Ruby on rails 找到在带有@jobs的respond_上加载的文件,ruby-on-rails,ruby,Ruby On Rails,Ruby,关于我的项目,我有 respond_to :json load_and_authorize_resource def show respond_with @job_pattern end 根据这里的教程 它的工作原理是这样的:当一个请求到来时,例如使用xml格式,它将首先在users/index.xml中搜索一个模板 所以我检查了job_patterns/index.json,但没有找到任何具有此名称的文件 有谁能告诉我在哪里可以找到文件,或者如果文件不在这里,输出是如何生成的。在您的情

关于我的项目,我有

respond_to :json
load_and_authorize_resource

def show
  respond_with @job_pattern
end
根据这里的教程 它的工作原理是这样的:当一个请求到来时,例如使用xml格式,它将首先在users/index.xml中搜索一个模板

所以我检查了job_patterns/index.json,但没有找到任何具有此名称的文件


有谁能告诉我在哪里可以找到文件,或者如果文件不在这里,输出是如何生成的。

在您的情况下,您的操作是
show
,因此与之关联的模板是
view/[namespace]/show.json
中的
show.json

您应该创建此模板,或者如果找不到此模板,Rails将自动调用传递给
respond\u with
的对象


请参阅。

,因为
respond\u to:json
不呈现视图,而是调用
render json:@job\u pattern

render json:@job\u pattern
调用
@job\u pattern.to\u json
并将json字符串设置为响应主体。对于XML或YML也可以这样做

这是rails约定优于配置理念的一个例子——如果有
show.json.[erb | haml]
它会优先考虑。否则,rails将查找与控制器名称对应的实例变量(
@job
@jobs
表示索引),并尝试将其序列化为JSON

进一步阅读:


最新版本的Rails和生成的scaffold使用show.json.jbuilder作为模板文件。 有关详细信息: