diff --git a/app/api/mobile/apis/users.rb b/app/api/mobile/apis/users.rb index a566b702d..5d1455a78 100644 --- a/app/api/mobile/apis/users.rb +++ b/app/api/mobile/apis/users.rb @@ -35,7 +35,7 @@ module Mobile authenticate! us = UsersService.new ue = us.edit_user params.merge(id: current_user.id) - present :data, ue.user, with: Mobile::Entities::User + present :data, ue,with: Mobile::Entities::User present :status, 0 end diff --git a/app/api/mobile/entities/user.rb b/app/api/mobile/entities/user.rb index 3c3356b46..2a4c0cdaa 100644 --- a/app/api/mobile/entities/user.rb +++ b/app/api/mobile/entities/user.rb @@ -3,7 +3,12 @@ module Mobile class User < Grape::Entity def self.user_expose(f) expose f do |u,opt| - u.send(f) if u.respond_to?(f) + if u.is_a?(Hash) && u.key?(f) + u[f] + #else + # u.send(f) if u.respond_to?(f) + end + end end diff --git a/app/services/users_service.rb b/app/services/users_service.rb index c58956994..82b88befb 100644 --- a/app/services/users_service.rb +++ b/app/services/users_service.rb @@ -36,7 +36,11 @@ class UsersService ue.user_id = @user.id ue.save end - @user + img_url = url_to_avatar(@user) + gender = @user.user_extensions.gender.nil? ? 0 : @user.user_extensions.gender + work_unit = get_user_work_unit @user + location = get_user_location @user + {:id => @user.id, :img_url => img_url, :nickname => @user.login, :gender => gender, :work_unit => work_unit, :mail => @user.mail, :location => location, :brief_introduction => @user.user_extensions.brief_introduction} end #显示用户 @@ -95,7 +99,11 @@ class UsersService logger.error "[Error] avatar : users_service#edit_user ===> #{e}" end end - [:user_extensions =>@se,:img_url => url_to_avatar(@user),:work_unit => get_user_work_unit(@user),:location => get_user_location(@user)] + img_url = url_to_avatar(@user) + gender = @user.user_extensions.gender.nil? ? 0 : @user.user_extensions.gender + work_unit = get_user_work_unit @user + location = get_user_location @user + {:id => @user.id, :img_url => img_url, :nickname => @user.login, :gender => gender, :work_unit => work_unit, :mail => @user.mail, :location => location, :brief_introduction => @user.user_extensions.brief_introduction} end #获取用户的工作单位