【发布时间】:2011-03-07 18:39:54
【问题描述】:
我有一个名为 CourseRequests 的控制器,它将接受“新”方法的 ajax 请求。
既然会用 json 响应,我应该使用 /course_requests/new.json 吗?
我不想为这种愚蠢的 json 响应制作模板,我该怎么做?
respond_to 做什么? (我见过它块样式,我理解,但是非块样式呢)
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 json
我有一个名为 CourseRequests 的控制器,它将接受“新”方法的 ajax 请求。
既然会用 json 响应,我应该使用 /course_requests/new.json 吗?
我不想为这种愚蠢的 json 响应制作模板,我该怎么做?
respond_to 做什么? (我见过它块样式,我理解,但是非块样式呢)
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 json
是的,你的 JS 会按照以下方式做一些事情:
$.getJSON("/course_requests/new.json",...);
您不必这样做,您只需要在其中处理 JSON 的 respond_to 块。
respond_to do |format|
format.json { render :json => "test" }
end
无块语法,我想你的意思是:http://davidwparker.com/2010/03/09/api-in-rails-respond-to-and-respond-with/。基本上,您指定控制器响应的 mime 类型,然后您可以使用更酷的 responds_with 方法。
【讨论】:
respond_to 块。将respond_to :html, :json 放在Controller 中并在方法中调用respond_with([your results]) 就足够了。 api.rubyonrails.org/classes/ActionController/MimeResponds/…