繁体   English   中英

Rails:向单例资源添加路由

[英]Rails: Adding routes to singleton resource

所以,如果我有单身路线......

resource :shared

...我希望有自定义动作名称而不是标准的CRUD名称,我还能做...

resource :shared do
  collection do
    get 'foo'
    get 'bar'
    match 'baz'
  end
end

...或者我可以不使用“收集”块并将这些路径直接传递给单身人士吗?

在这种情况下,我不想要任何标准的CRUD路线......

有没有更简单,更简洁的方法来设置路由到我的共享资源的特定ajax相关操作? 我非常稀疏地使用这个控制器,大多数它存在,以便shared视图文件夹可以提供像我的页脚和我的菜单...

建议?

你可以使用match

比如说你有一个名为FooController的控制器和一个名为bar的方法你可以执行以下操作:

match "/foo/bar/" => "foo#bar", :as => "foo_bar"

这将匹配任何请求,无论是GET还是POST,与方法bar FooController

如果您只需要一个特定的http动词,请将match替换为postget

资源代码如下所示:

collection do
  post :create
end if parent_resource.actions.include?(:create)

new do
  get :new
end if parent_resource.actions.include?(:new)

member do
  get    :edit if parent_resource.actions.include?(:edit)
  get    :show if parent_resource.actions.include?(:show)
  put    :update if parent_resource.actions.include?(:update)
  delete :destroy if parent_resource.actions.include?(:destroy)
end

所以你基本上可以做同样的事情,但用你自己的名字。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM