Javascript 具有动态参数的主干集合url

Javascript 具有动态参数的主干集合url,javascript,ruby-on-rails,backbone.js,Javascript,Ruby On Rails,Backbone.js,我正在用Backbone.js编写一个Rails应用程序 在Rails中,我在config/routes.rb中有一个路由,它接受如下参数:/api/u/foo。它通过参数获取所有帖子,在本例中为foo。这篇文章的输出是foo的所有文章。Foo是一个用户,他有很多帖子 在主干网中,我需要在集合上设置url属性以从路由中获取参数,如下所示:/u/foo。我想让它得到/api/u/foo.json。我怎么能这样做?我尝试在主干路由上使用user参数,但无法将其发送到集合 routes.rb文件的相关

我正在用Backbone.js编写一个Rails应用程序

在Rails中,我在
config/routes.rb
中有一个路由,它接受如下参数:
/api/u/foo
。它通过参数获取所有帖子,在本例中为
foo
。这篇文章的输出是foo的所有文章。Foo是一个用户,他有很多帖子

在主干网中,我需要在集合上设置
url
属性以从路由中获取参数,如下所示:
/u/foo
。我想让它得到
/api/u/foo.json
。我怎么能这样做?我尝试在主干路由上使用
user
参数,但无法将其发送到集合

routes.rb文件的相关部分:

scope 'api' do
  get "/u/:user", :action => "index", :controller => "posts"
end

假设
foo
是您的参数,主干将应用该URL获取单个用户,而不是集合,这才有意义

我相信您的路线已经很好,
/api/u
应该返回集合,
/api/u/123
一个用户。您需要将额外的参数发送到
/api/u?foo=bar
,以过滤您的集合

只需将它们发送到主干中的.fetch()调用中,即可使其正常工作。在控制器中应用必要的更改,以便根据各种可能的参数进行过滤

更新 知道您希望每个用户都有帖子,您的问题实际上必须进行嵌套路由。这里已经有人问:

有关Backbone.js的文档如下:

为了保持一点安静,我将路由定义为:

scope '/api' do
  resources :users, only: [], path: 'u' do
    resources :posts, only: :index
  end
end
其结果是:


api_user_posts GET/api/u/:user_id/posts(:format)api/posts#index

这个问题更容易理解,如果您显示主干路由器的一些代码,以及您在集合中尝试过的内容,则可能需要
get'/u/:user/posts'
,以备将来需要评论和其他资源。问题是,集合是按用户过滤的,不应该有办法得到所有的记录,那收集什么呢?你是说参数是
u
,而不是foo?所以它是一个特定
u
foo
集合?如果是,请更新您的问题以澄清这一点。您是否也可以给出routes.rb的相关内容?“api”作用域下应该有用户的嵌套路由,对吗?
u
api
下命名的路由,其中
foo
是参数散列中的
:user
。希望这能澄清一些事情。那么这是一个什么的集合呢?