diff --git a/app/controllers/users/clas_controller.rb b/app/controllers/users/clas_controller.rb index e3a4de0c2..d5e93436e 100644 --- a/app/controllers/users/clas_controller.rb +++ b/app/controllers/users/clas_controller.rb @@ -8,6 +8,7 @@ class Users::ClasController < Users::BaseController ActiveRecord::Base.transaction do Users::UserClaForm.new(user_cla_params).validate! @user_cla = UserCla.build(user_cla_params, @_observed_user.id) + render_ok end rescue Exception => e uid_logger_error(e.message) diff --git a/app/models/cla.rb b/app/models/cla.rb index ff5b8780f..11f86dcd6 100644 --- a/app/models/cla.rb +++ b/app/models/cla.rb @@ -35,4 +35,9 @@ class Cla < ApplicationRecord pr_need: params[:pr_need] ) end + + + def fresh_count + update(count:self.users.count) + end end diff --git a/app/models/user_cla.rb b/app/models/user_cla.rb index a1accb41e..005533ce7 100644 --- a/app/models/user_cla.rb +++ b/app/models/user_cla.rb @@ -22,6 +22,9 @@ class UserCla < ApplicationRecord belongs_to :cla # identity 0: 教师教授 1: 学生, 2: 专业人士, 3: 开发者 enum state: { deafult: 0, signed: 1, failed: 2} + after_create do + cla.fresh_count + end def self.build(params,user_id) self.create!(user_id: user_id, diff --git a/app/views/organizations/clas/_detail.json.jbuilder b/app/views/organizations/clas/_detail.json.jbuilder index 39c4e6a33..b9d50183b 100644 --- a/app/views/organizations/clas/_detail.json.jbuilder +++ b/app/views/organizations/clas/_detail.json.jbuilder @@ -3,3 +3,4 @@ json.content cla.content json.key cla.key json.name cla.name json.pr_need cla.pr_need +json.count cla.count \ No newline at end of file