New To Rails 3,带有json响应的ajax请求

Chr*_*nch 5 json ruby-on-rails ruby-on-rails-3

我有一个名为CourseRequests的控制器,它将接受"new"方法的ajax请求.

  1. 既然它会用json响应,我应该使用/course_requests/new.json吗?

  2. 我不想为这种愚蠢的json响应制作模板,我该怎么做?

  3. respond_to做什么?(我已经看到了它的块样式,我明白了,但是非块样式呢)

Tom*_*mas 10

  1. 是的,你的JS会做的事情是这样的:

    $.getJSON("/course_requests/new.json",...);
    
    Run Code Online (Sandbox Code Playgroud)
  2. 您没有必要,只需要在其中处理带有JSON的respond_to块.

    respond_to do |format|
      format.json { render :json => "test" }
    end
    
    Run Code Online (Sandbox Code Playgroud)
  3. 无块语法,我认为你的意思是:http://davidwparker.com/2010/03/09/api-in-rails-respond-to-and-respond-with/.基本上,您指定控制器响应的mime类型,然后您可以使用冷却器responds_with方法.

  • 你在RoR3中不需要`respond_to`块.在Controller中放置`respond_to:html,:json`并在方法中调用`respond_with([你的结果])`就足够了.http://api.rubyonrails.org/classes/ActionController/MimeResponds/ClassMethods.html#method-i-respond_to (2认同)