Gmaps4rails не обновляется при изменении поля адреса

Я использую API Gmaps4rails. Но всякий раз, когда я обновляю или редактирую адрес, gmaps4rails по-прежнему указывает на старый адрес. Я новичок в рельсах, поэтому не уверен, в чем ошибка.

Ниже мой файл Controller.rb

def show
  if current_user.Company.nil?
    @estate = current_user.estates.find(params[:id])
  else
    @estate = Estate.find(params[:id])
  end

  respond_to do |format|
    format.html # show.html.erb
    format.json { render json: @estate }
  end
end

def new
  @@key = params[:user_id]
  @master = @@key
  @estate = Estate.new
  @json = @estate.all.to_gmaps4rails

  respond_to do |format|
    format.html # new.html.erb
    format.json { render json: @estate }
  end
end

def edit
  @estate = Estate.find(params[:id])
   @json = @estate.to_gmaps4rails
end

def create
  # @estate = Estate.new(params[:estate])
  if current_user.Company.nil?
    @estate = current_user.estates.build(params[:estate])
  else
    serve = User.find(@@key)
    @estate = Estate.new(params[:estate])
    @estate.user_id = serve.id
    @estate.Mgmt = current_user.Company
  end

  respond_to do |format|
    if @estate.save
      if current_user.Company.nil?
        if @estate.companyemail = ''
        ##  
        else
          EstateMailer.company_confirmation(@estate).deliver
        end
      end

      format.html { redirect_to @estate, notice: 'Property details were successfully updated.' }
      format.json { render json: @estate, status: :created, location: @estate }
    else
      format.html { render action: "new" }
      format.json { render json: @estate.errors, status: :unprocessable_entity }
    end
  end
end

def update
  @estate = Estate.find(params[:id])
  @json = Estate.all.to_gmaps4rails

  respond_to do |format|
    if @estate.update_attributes(params[:estate])
      format.html { redirect_to @estate, notice: 'Property details were successfully updated.' }
      format.json { head :no_content }
    else
      format.html { render action: "edit" }
      format.json { render json: @estate.errors, status: :unprocessable_entity }
    end
  end
end

person Himanshu    schedule 02.07.2013    source источник
comment
Грязный! Блин, подумайте о том, чтобы привести свой код в порядок. Я отформатирую его для вас, но вы получите лучшие ответы, если постараетесь сделать его красивее.   -  person simonmorley    schedule 02.07.2013
comment
Я переформатировал ваш код, но вам нужно сделать это, а не полагаться на других. Более того, если ваш фактический код настолько запутан, вам будет трудно разобраться во всем. Почему у вас есть заглавная буква current_user.Company.nil? Я не верю, что это правильно. И ваш двойной вложенный цикл if else в create усложнит вам жизнь.   -  person simonmorley    schedule 02.07.2013
comment
Извините, последний комментарий: куда вы отправляете свои долготу и широту. Являются частью формы? Если да, пожалуйста, опубликуйте код формы (аккуратно).   -  person simonmorley    schedule 02.07.2013
comment
Прошу прощения за неаккуратный формат кода. В форме я использую только адрес.   -  person Himanshu    schedule 02.07.2013
comment
Есть ли в вашей модели какие-либо предварительные действия? Подумайте над этим, если вы не сохраняете его с формой и у вас нет действий до/после в ваших моделях, как он будет сохраняться.   -  person simonmorley    schedule 03.07.2013
comment
ааа понял свою ошибку. Установка Gmaps=false сработала для меня. Спасибо   -  person Himanshu    schedule 08.07.2013
comment
Ок, отлично! Рад слышать это. Пожалуйста, отметьте ответ как принятый, чтобы другие не отвечали на него. С Удачи..   -  person simonmorley    schedule 08.07.2013


Ответы (1)


Попробуйте это в соответствии с сообщением SO

Вам понадобится что-то подобное в вашей модели

 :check_process : true/false (if set to false, geocoding will be made at every save/update)

 :checker : string (only if check_process is true), could be a method or a db column boolean

Подробнее здесь. Помните, Google — ваш друг.

person simonmorley    schedule 03.07.2013