Не найден шаблон для LeadsController # create, рендеринг head: no_content - PullRequest
0 голосов
/ 31 октября 2019

Итак, я пытаюсь отправить форму обратной связи в dropbox, поэтому цель состоит в том, чтобы пользователь создал запрос (форму обратной связи) с полем upload_file (вложение), а затем я собираюсь спросить этого пользователя. если он хочет стать клиентом, поэтому, если он станет таковым, я хочу, чтобы это вложение в его лиде (контактная форма, связанная с ним) вошло в мой список сообщений.

, поэтому вот мой контроллер для связи с нами:

class LeadsController < ApplicationController
    require 'dropbox_api'
    skip_before_action :verify_authenticity_token
    def create
        @lead = Lead.new

        fullname = params['Name']
        company = params['Company']
        email = params['Email']
        phone = params['Phone']
        projectName = params['ProjectName']
        projectDescription = params['ProjectDescription']
        department_incharge = params['DepartmentInCharge']
        message = params['Message']
        attachment = params['attachment']


        @lead.full_name = fullname
        @lead.company_name = company
        @lead.email = email
        @lead.phone = phone
        @lead.project_name = projectName
        @lead.project_description = projectDescription
        @lead.department_in_charge = department_incharge
        @lead.message = message
        params_attach = attachment

        if params_attach
            @lead.attachment = params_attach.read
            @lead.original_filename = params_attach.original_filename


        client = DropboxApi::Client.new(ENV['DROPBOX_OAUTH_BEARER'])

        @lead.save!
        redirect_to root_path
        end
    end
 end

вот моя модель клиента:

class Customer < ApplicationRecord
    has_many :lead
    has_many :buildings
    belongs_to :address
    belongs_to :user

    after_update :dropbox

   self.all.each do |lead|
    def dropbox
       self.lead.all.each do |lead|
         if lead.attachment != nil
           client = DropboxApi::Client.new(ENV['DROPBOX_OAUTH_BEARER'])
           client.create_folder("/#{lead.full_name}")
           client.upload("/#{lead.full_name}/#{File.basename(lead.original_filename)}", lead.attachment)
             # lead.file_attachment = nil
             # lead.original_filename = nil
             # lead.save!
             end
           end
       end
   end
end

Проблема в том, что когда я нажимаю кнопку отправки, чтобы подтвердить свою цитату, она просто обновляет страницу (она должна перейти кстраница подтверждения) и в консоли ubuntu это выглядит так:

Не найден шаблон для LeadsController # create, рендеринг head: no_content Завершено 204 Нет содержимого в 795ms (ActiveRecord: 0.0ms)

Скажите мнеесли вам нужно больше информации, я действительно застрял на этом

1 Ответ

0 голосов
/ 31 октября 2019

Попробуйте, переместите redirect_to из if, добавьте флэш-сообщение, чтобы сделать его более понятным, я подозреваю, params_attach - это false / nil в данном случае

if params_attach
   @lead.attachment = params_attach.read
   @lead.original_filename = params_attach.original_filename


   client = DropboxApi::Client.new(ENV['DROPBOX_OAUTH_BEARER'])

   @lead.save!

end
redirect_to root_path

Надеюсь, это поможет!

...