在视图中,我根据应用中的模型数据生成HTML图形画布。在视图中,我在页面中预加载JSON模型数据(为了避免初始请求):
<script type="text/javascript" charset="utf-8">
<% ActiveRecord::Base.include_root_in_json = false -%>
var objects = <%= @objects.to_json(:include => :other_objects) %>;
...
基于鼠标(或触摸)交互,我想重定向到我的应用程序中控制器特定的其他部分(例如查看,编辑,删除等)。
我不想在我的JavaScript中对URL进行硬编码,而是想从Rails中生成它们(这意味着它总是适应最新的路由)。
似乎我有以下三种选择之一:
为了便于实施和维护,我开始倾向于#1。
我还缺少其他选择吗? #1不是最好的吗?
谢谢!
克里斯
答案 0 :(得分:3)
我在我的博客上写了一些关于此的内容:Rails Dilemma: HATEOAS in XML/JSON Responses。
我得出了类似的结论。据我所知,没有非常简洁的方法可以做到这一点,因为默认情况下,模型负责创建自己的JSON表示,但生成URL严格来说是控制器/视图责任。
随意查看我的想法/结论并在此处或那里添加评论。