假设我有这个模型:
class Post < ApplicationRecord
enum post_type: { post: 0, page: 1 }
belongs_to :user
end
默认情况下,rails 5 将使belongs_to :user
关联成为必需。如果您通过optional: true
,则此关联是可选的。但我想要的是关联只有在需要时才是belongs_to :user
可选的。post_type
page
post
我怎么能在线上做呢belongs_to :user
?
此刻我正在这样做:
class Post < ApplicationRecord
enum post_type: { post: 0, page: 1 }
belongs_to :user, optional: true
validates :user_id, presence: { scope: post? }
end
但这会给我一个错误,例如:
NoMethodError:未定义的方法“发布?” 为了 #
这是正确的方法吗?还是有另一种方法?