【问题标题】:Rails Path Helper - same path for different namespacesRails Path Helper - 不同命名空间的相同路径
【发布时间】:2026-02-06 08:00:02
【问题描述】:

我正在构建一个 Rails 应用程序。
它有两个使用相同表的命名空间。
有什么方法可以为访问同一个公用表的不同命名空间下的不同模型使用相同的路径助手?

# namespaces (= roles)
admin
user
# tables
users
posts
# models
User < ApplicationRecord
Post < ApplicationRecord
Admin::User < User
Admin::Post < Post
User::Post < Post
# in controllers
## Admin::Post#index
@admin_posts = Admin::Post.all

## User::Post#index
@user_posts = User::Post.all
# in views
## Admin::Post#index
<%= render "shared/posts/index", posts: @admin_posts %>

## User::Post#index
<%= render "shared/posts/index", posts: @user_posts %>

我想使用共享模板。
&lt;%= link_to post.title, post %&gt; 有效。它将生成 admin/post/:iduser/post/:id 取决于实例的命名空间。
但是有没有办法生成适应其命名空间的edit_post_path

【问题讨论】:

    标签: ruby-on-rails ruby helper


    【解决方案1】:

    edit_post_path 似乎不能这样做,但你可以试试这个:

    <%= link_to post.title, [:edit, post] %>
    

    【讨论】: