1

我正在开发一个使用 REST api 和 json 与 rails3 服务器通信的 PhoneGap 移动应用程序。使用设计 2.0.4 完成身份验证。对于我自己的控制器,我可以指定 rails 应该使用回调包装 json,以通过以下方式处理跨域问题:

respond_to do |format|
      format.html # index.html.erb
      format.json { render :json => @books, :callback => params[:callback] }
end

注意:

:callback => params[:callback]

我无法用设计控制器做到这一点。我怎样才能设计出响应 js 请求 - 即带有回调的 json?

非常感谢,

爱丽儿

4

1 回答 1

0

最好覆盖为渲染器提供 :callback 参数或以某种方式使用 before_filter 的设计控制器。为了做到这一点,将设计控制器从 github/local-gem-directory 复制到您的应用程序,然后进行编辑。但是为每个动作定义一个 JS 视图会容易得多:

如果你还没有完成它已经开始生成设计视图(这不是必需的,但会帮助你理解这个想法):

rails g device:views -s

*.html.erb它会在您的文件夹中生成大量app/views/devise文件。*.js.erb您必须使用以下内容在它们旁边创建适当的:

<%=render :inline => params[:callback]+'('+resource.to_json+')'%>

PS:实际上你可以把那行放进去app/views/application.js.erb,跳过其他步骤;)

于 2012-11-21T10:34:33.100 回答