Class: My::AddressesController
- Inherits:
-
BaseController
- Object
- BaseController
- My::AddressesController
- Defined in:
- app/controllers/profiled/my/addresses_controller.rb
Instance Method Summary collapse
- #create ⇒ Object
- #fork ⇒ Object
- #index ⇒ Object
- #join ⇒ Object
- #list ⇒ Object
- #new ⇒ Object
- #program ⇒ Object
- #wechat ⇒ Object
Instance Method Details
#create ⇒ Object
28 29 30 31 32 33 34 35 36 |
# File 'app/controllers/profiled/my/addresses_controller.rb', line 28 def create @address = current_user.addresses.build(address_params) if @address.save render 'create' else render :new, locals: { model: @address }, status: :unprocessable_entity end end |
#fork ⇒ Object
38 39 40 41 42 43 44 |
# File 'app/controllers/profiled/my/addresses_controller.rb', line 38 def fork @address = current_user.addresses.build @address.contact = params[:userName] @address.tel = params[:telNumber] @address.detail = params[:detailInfo] @address.post_code = params[:postalCode] end |
#index ⇒ Object
5 6 7 8 9 10 |
# File 'app/controllers/profiled/my/addresses_controller.rb', line 5 def index q_params = {} @addresses = current_user.addresses.includes(:area).default_where(q_params).page(params[:page]) @address = current_user.addresses.build end |
#join ⇒ Object
78 79 80 81 82 |
# File 'app/controllers/profiled/my/addresses_controller.rb', line 78 def join au = current_user.address_users.find_or_initialize_by(address_id: @address.id) au.save render 'show' end |
#list ⇒ Object
12 13 14 |
# File 'app/controllers/profiled/my/addresses_controller.rb', line 12 def list end |
#new ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 |
# File 'app/controllers/profiled/my/addresses_controller.rb', line 16 def new @address = current_user.addresses.build r = QqMapHelper.ip '110.53.215.204' || request.remote_ip area_params = r['ad_info'] if area_params area = Area.sure_find_full [area_params['province'], area_params['city'], area_params['district'].presence].compact else area = Area.new end @address.area = area end |
#program ⇒ Object
62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
# File 'app/controllers/profiled/my/addresses_controller.rb', line 62 def program area = Area.sure_find [params['provinceName'], params['cityName'], params['countyName']].reject(&:blank?).uniq cached_key = [area.id, params['detailInfo'], params['userName'], params['telNumber']].join(',') @address = current_user.addresses.find_or_initialize_by(cached_key: cached_key) @address.contact = params['userName'] @address.tel = params['telNumber'] @address.detail = params['detailInfo'] @address.post_code = params[:postalCode] @address.area = area @address.source = 'program' @address.save render json: { id: @address.id } end |
#wechat ⇒ Object
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'app/controllers/profiled/my/addresses_controller.rb', line 46 def wechat # uniq 解决['上海市', '上海市'] 的问题 area = Area.sure_find [params['provinceName'], params['cityName'], params['countyName']].reject(&:blank?).uniq cached_key = [area.id, address_params[:detail], address_params[:contact], address_params[:tel]].join(',') @address = current_user.addresses.find_or_initialize_by(cached_key: cached_key) @address.assign_attributes address_params @address.area = area @address.source = 'wechat' @address.save return_to = URI(params[:return_to]) return_to.query = "address_id=#{@address.id}" render 'wechat', locals: { return_to: return_to.to_s } end |