Как отобразить всплывающее окно с помощью Ajax - PullRequest
0 голосов
/ 27 июня 2019

Я пытаюсь отобразить всплывающее окно при нажатии кнопки, но не могу добраться до нее, поскольку всегда получаю сообщение об ошибке метода Ajax.

Мое всплывающее окно должно выглядеть следующим образом:

https://image.noelshack.com/fichiers/2019/26/4/1561630568-59639851-4278bc80-9154-11e9-965a-d691ee7777b1.png

Я попытался загрузить всплывающее окно с содержимым уже работающего всплывающего окна, и оно работало.Я могу отображать выбранное изображение через мой веб-сайт, но не из всплывающего окна.

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

Методы My Controller:

  def pbbackground
    progress_board = ProgressBoard.find(params[:id])
    if params[:type] == "cover_image"
      result = progress_board.cover_image.save
      progress_board.save(validate: false)
    end
  end

Параметры моей модели для добавления cover_image:

  has_attached_file :cover_image,
                    :styles => { square: "200x200>", small: "400x400>", :large => "640x640>", :thumbnail => "400x400#",to_add: "362x270>", you_might_like: "260x160>" }
  validates_attachment_content_type :cover_image, :content_type => ['image/jpeg', 'image/jpg', 'image/png', 'image/gif', 'image/bmp']

  def assign_cover_image
    if ci = params[:progress_board][:cover_image]
     cover_image = ci
    end
    cover_image = File.open(cover_image_path)
    self.cover_image = cover_image
    self.save
  end

Мой рабочий Ajax-метод:

function loadProgressForm(resource, id){
    $(".form_loader").show();
    if(resource == "new"){
      url = "/progress_boards/new";
      popup_name = "Make A Progress Board";
    } else if (resource == "edit"){
      url = "/progress_boards/" + id + "/edit";
      popup_name = "Add/Remove Metrics";
    } else if (resource == "pbbackground"){
      url = "/progress_boards/" + id + "/pbbackground";
      popup_name = "Add A Picture";
    }
    $.ajax({
      url: url,
      success: function(response, data){
        $("#progress_board_form").html(response.html);
        $("#progress_board_form").find('.modal-title').text(popup_name);
        $(".form_loader").hide();
      },
      error: function(response, data){
        alert("Error loading project form")
        $(".form_loader").hide();
      }
    })
  }
...