使用 Thoughtbot 的 Administrate gem 编辑表单时,选择字段或 HasMany 关系的下拉选项始终显示给定模型/关联的所有可能记录。
但是,我只想显示与当前用户相关的记录,并且最好不要破坏管理控制器或视图。
使用“解决管理”的 Pundit 范围似乎只影响索引页,而不影响表单。
有没有人遇到过或优雅地解决了这个问题?
我正在创建一个学习管理系统。我有用户注册了课程。我想在用户显示页面上显示用户何时完成课程。像这样:
complete如果我在app/dashboards/course_dashboard.rbunder添加属性COLLECTION_ATTRIBUTES,它也会显示在课程索引页面中,这是我不想要的:
如何将此complete属性添加到“用户显示”页面上的用户课程信息(如第一张图片所示),但不将其添加到“课程索引”页面(如第二张图片所示)?
我有一个 Rails 应用程序,其中用户有性别,这是一个枚举,其中 0 表示女性,1 表示男性。
我在 user_dashboard.rb 中有这段代码:
require "administrate/base_dashboard"
class UserDashboard < Administrate::BaseDashboard
ATTRIBUTE_TYPES = {
posts: Field::HasMany,
id: Field::Number.with_options(searchable: false),
email: Field::String.with_options(searchable: true),
password: Field::String.with_options(searchable: false),
password_confirmation: Field::String.with_options(searchable: false),
encrypted_password: Field::String.with_options(searchable: false),
reset_password_token: Field::String.with_options(searchable: false),
reset_password_sent_at: Field::DateTime.with_options(searchable: false),
remember_created_at: Field::DateTime.with_options(searchable: false),
first_name: Field::String.with_options(searchable: false),
last_name: Field::String.with_options(searchable: false),
gender: Field::Text.with_options(searchable: false),
type: Field::String.with_options(searchable: false),
created_at: Field::DateTime.with_options(searchable: false),
updated_at: Field::DateTime.with_options(searchable: false),
phone: Field::String.with_options(searchable: false),
}.freeze
COLLECTION_ATTRIBUTES = %i[
posts
email
phone
type
].freeze
SHOW_PAGE_ATTRIBUTES = %i[
posts
id
email …Run Code Online (Sandbox Code Playgroud)