想知道是否有人可以帮助我找到这个问题。我正在使用 rails 4、ruby 2,并且花了很多时间尝试不同的访问器等,但没有任何效果。
整体方案模型:
class Plan < ActiveRecord::Base
has_many :users
end
部分用户模型:
class User < ActiveRecord::Base
...
validate :plan_type_valid
belongs_to :plan
...
def plan_type_valid
if free_ok
# the following line causes error
valid_plans = Plan.where(price_tier: plan.price_tier).pluck(:id)
else
valid_plans = Plan.where(price_tier: plan.price_tier).where.not(stripe_id: 'free').pluck(:id)
end
unless valid_plans.include?(plan.id)
errors.add(:plan_id, 'is invalid')
end
end
end
这是整个用户控制器的粘贴箱: