Отправка JavaScript данных на эстакаду Rails - PullRequest
0 голосов
/ 11 марта 2020

У меня есть JS, который захватывает имя файла с помощью ввода:

var fullPath = document.getElementById('file').value;
 if (fullPath) {
   var startIndex = (fullPath.indexOf('\\') >= 0 ? fullPath.lastIndexOf('\\') : fullPath.lastIndexOf('/'));
   var filename = fullPath.substring(startIndex);
   if (filename.indexOf('\\') === 0 || filename.indexOf('/') === 0) {
    filename = filename.substring(1);
   }
 }
 if(passAll === true){
  alert(filename);
 }
}

Затем я создал эшафот, чтобы показать историю моих файлов:

Мой контроллер истории:

class HistoricosController < ApplicationController
  before_action :set_historico, only: [:show, :edit, :update, :destroy]

  # GET /historicos
  # GET /historicos.json
  def index
     @historicos = Historico.all
  end
end

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

Моя модель пуста:

class Historico < ApplicationRecord
end

Мой индекс истории:

<p id="notice"><%= notice %></p>

<h1>Historicos</h1>

<table>
  <thead>
    <tr>
      <th>Arquivos validados:</th>
      <th colspan="3"></th>
    </tr>
  </thead>

  <tbody>
    <% @historicos.each do |historico| %>
      <tr>
        <td><%= historico.filename %></td>
      </tr>
    <% end %>
  </tbody>
</table>

<br>

Мой ввод:

<%= file_field_tag 'file' %>

Мой БД:

class CreateHistoricos < ActiveRecord::Migration[5.2]
  def change
    create_table :historicos do |t|
      t.string :filename

      t.timestamps
    end
  end
end

Дело в том, что я не хочу создавать какие-либо имена файлов, у меня уже есть имя файла, это то, что делает мой JS код, и я хочу знать, как я могу получить это имя файла (которое у меня уже есть) и просто сохранить его в моем индексе истории?

PS: Должен ли я изменить имя файла в моей БД, чтобы он не запутался?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...