在我的项目上我有
respond_to :json
load_and_authorize_resource
def show
respond_with @job_pattern
end
根据此处的教程http://blog.plataformatec.com.br/2009/08/embracing-rest-with-mind-body-and-soul/ 它的工作方式如下:当请求到来时,例如格式为xml,它将首先在users / index.xml中搜索模板
所以我检查了job_patterns / index.json,但没找到任何具有此名称的文件
任何人都可以指导我在哪里可以找到该文件,或者如果该文件不在文件中,如何生成输出。
答案 0 :(得分:2)
因为respond_to :json
不呈现视图,而是调用render json: @job_pattern
。
render json:@job_pattern
调用@job_pattern.to_json
并将JSON字符串设置为响应正文。您可以使用XML或YML执行相同的操作。
这是关于配置哲学的rails约定的示例 - 如果有show.json.[erb|haml]
则优先。否则,rails将查找与控制器名称对应的实例变量(@job
或@jobs
作为索引)并尝试将其序列化为JSON。
进一步阅读:
答案 1 :(得分:1)
在您的情况下,您的操作为show
,因此与show.json
中关联的模板为views/[namespace]/show.json
。
您应该创建此模板,或者如果找不到此模板,Rails将自动调用传递给respond_with
的对象的to_json
。
请参阅documentation。
答案 2 :(得分:0)
带有生成脚手架的Rails的最新版本使用show.json.jbuilder作为模板文件。 有关它的更多信息: jbuilder