Rails有嵌套的资源一段时间,它已被大量使用(或过度使用)。假设我们有两个模型,文章和评论。SpineJS url()支持Rails中的嵌套资源吗?
class Article < ActiveRecord::Base
has_many :comments
end
class Comment < ActiveRecord::Base
belongs_to :article
end
定义嵌套的资源在routes.rb中
resources :articles do
resources :comments
end
所以,现在,我们可以列出具体条款的评论: http://localhost:3000/articles/1/comments
但脊柱只能使网址后请求创建文章和评论是这样的:
/articles
/comments
如何使Spine的Ajax请求的URL如此?
/articles/1/comments
我知道我可以覆盖评论模型的URL()用于检索的意见,但有关创建一个新的记录呢?
我也经历了源代码,我发现的是,Spine的Ajax模块中的create()方法并不关心Comment的实例中的自定义url()函数。我想要的只是传递article_id并将其与我的自定义url()函数一起使用以生成url,然后我可以发布到服务器进行创建。
没有叉子和修改后的Spine版本可以吗?
顺便说一句:对不起,我的英语水平,希望所有的你们能理解我想说一下:-)
谢谢你和问候一下,
正如丹尼尔在这个问题中所说,这不适用于创作。 – Pelle 2012-01-07 22:30:34
由于Ajax.getURL函数传递了Comment模型而不是注释的实例,所以这对于创建URL不起作用。所以它不知道article_id是什么。检查我的答案:) – SpoBo 2012-02-15 15:58:59