管理 gem 与 class 名称关系的弃用
administrate gem deprecations on relations with class names
模特Transaction
belongs_to :consumer, class_name: 'User'
管理员 gem 自动获取此关系并包括模型关系和 id
ATTRIBUTE_TYPES = {
user: Field::BelongsTo,
consumer: Field::BelongsTo.with_options(class_name: "User"),
consumer_id: Field::Number,
试图通过关系搜索交易
consumer: Field::BelongsTo.with_options(
class_name: "User",
searchable: true,
searchable_fields: ['first_name', 'last_name', 'email', 'mobile']
),
抱怨用户为 nil 时出错
undefined method `+' for nil:NilClass
def display_resource(user)
user ? user.last_name + ', ' + user.first_name : "No user provided"
end
堆栈中的哪个正在调用 user_dashboard。 使用 ATTRIBUTE_TYPES
的自动生成的 consumer: Field::BelongsTo.with_options(class_name: "User")
定义时也会发生此错误
user.nil 是误导性错误,如:
> Transaction.where('consumer_id IS NULL').size
=> 0
user_id
也一样
如果删除 class_name,错误响应是直观预期的:uninitialized constant Consumer
.
documentation for customizing dashboards表示选项设置:
:class_name (deprecated) - Specifies the name of the associated class.
但由此产生的删除表明这是必要的。如果在交易集合中调用,consumer_id 会正确显示。
如何展示这个消费者?
管理 (0.14.0)
rails (6.0.3.6)
您有此代码和此错误:
# The code
def display_resource(user)
user ? user.last_name + ', ' + user.first_name : "No user provided"
end
# The error
# !> undefined method `+' for nil:NilClass
错误与用户为零无关。该错误表明您正在尝试将 +
应用于 nil
,而您 而不是 试图将 +
应用于用户:您正在尝试将其应用于 user.last_name
和 user.first_name
(以及 ", "
)。
nil 是您期望 1) 存在且 2) 为字符串的这些值之一。失败的一种可能方式是用户缺少名字。
这里有一种解决这种可能性的方法:
def display_resource(user)
user ? [user.last_name, user.first_name].compact.join(", ") : "No user provided"
end
模特Transaction
belongs_to :consumer, class_name: 'User'
管理员 gem 自动获取此关系并包括模型关系和 id
ATTRIBUTE_TYPES = {
user: Field::BelongsTo,
consumer: Field::BelongsTo.with_options(class_name: "User"),
consumer_id: Field::Number,
试图通过关系搜索交易
consumer: Field::BelongsTo.with_options(
class_name: "User",
searchable: true,
searchable_fields: ['first_name', 'last_name', 'email', 'mobile']
),
抱怨用户为 nil 时出错
undefined method `+' for nil:NilClass
def display_resource(user)
user ? user.last_name + ', ' + user.first_name : "No user provided"
end
堆栈中的哪个正在调用 user_dashboard。 使用 ATTRIBUTE_TYPES
的自动生成的consumer: Field::BelongsTo.with_options(class_name: "User")
定义时也会发生此错误
user.nil 是误导性错误,如:
> Transaction.where('consumer_id IS NULL').size
=> 0
user_id
也一样
如果删除 class_name,错误响应是直观预期的:uninitialized constant Consumer
.
documentation for customizing dashboards表示选项设置:
:class_name (deprecated) - Specifies the name of the associated class.
但由此产生的删除表明这是必要的。如果在交易集合中调用,consumer_id 会正确显示。
如何展示这个消费者?
管理 (0.14.0)
rails (6.0.3.6)
您有此代码和此错误:
# The code
def display_resource(user)
user ? user.last_name + ', ' + user.first_name : "No user provided"
end
# The error
# !> undefined method `+' for nil:NilClass
错误与用户为零无关。该错误表明您正在尝试将 +
应用于 nil
,而您 而不是 试图将 +
应用于用户:您正在尝试将其应用于 user.last_name
和 user.first_name
(以及 ", "
)。
nil 是您期望 1) 存在且 2) 为字符串的这些值之一。失败的一种可能方式是用户缺少名字。
这里有一种解决这种可能性的方法:
def display_resource(user)
user ? [user.last_name, user.first_name].compact.join(", ") : "No user provided"
end