Rails 路径助手 - 不同命名空间的相同路径
Rails Path Helper - same path for different namespaces
我正在构建一个 rails 应用。
它有两个使用相同 tables.
的命名空间
有什么方法可以在访问一个公共 table?
的不同命名空间下对不同模型使用相同的路径助手
# 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 %>
我想使用共享模板。
<%= link_to post.title, post %>
有效。它会生成 admin/post/:id
或 user/post/:id
取决于实例的命名空间。
但是有什么方法可以生成适应其命名空间的edit_post_path
吗?
edit_post_path
似乎不能这样做,但你可以试试这个:
<%= link_to post.title, [:edit, post] %>
我正在构建一个 rails 应用。
它有两个使用相同 tables.
的命名空间
有什么方法可以在访问一个公共 table?
# 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 %>
我想使用共享模板。
<%= link_to post.title, post %>
有效。它会生成 admin/post/:id
或 user/post/:id
取决于实例的命名空间。
但是有什么方法可以生成适应其命名空间的edit_post_path
吗?
edit_post_path
似乎不能这样做,但你可以试试这个:
<%= link_to post.title, [:edit, post] %>