Я пытаюсь загрузить массовую загрузку через CSV. Вот мой метод импорта от моего контроллера:Передача первичного ключа для создания действия с помощью CSV-загрузки
def import
params.permit(:id, :brand, :product, :details)
Item.import(params[:file])
redirect_to root_url, notice: "Products imported."
end
Которая затем называет этот метод self.import из моей модели Item.
def self.import(file)
CSV.foreach(file.path, headers: true) do |row|
Item.create! row.to_hash
end
end
Вот моя форма для загрузки:
<%= form_tag import_item_mgmt_index_path, multipart: true do %>
<%= file_field_tag :file %>
<%= submit_tag "Import" %>
<% end %>
Вот мой вопрос: когда я проверяю данные в БД, рельсы является назначение автоинкрементный item_id
вместо item_id
переходил из моего файла CSV , Мне нужно назначить эти конкретные идентификаторы для моего приложения, и я не уверен, почему я не могу назначить их при создании. Глядя на параметры, я даже не вижу, как мой item_id
проходит. Помогите? Заранее спасибо.
Артикул
class Item < ActiveRecord::Base
has_many :inventory_items
has_many :vendors, through: :inventory_items
has_many :list_items
has_many :shopping_lists, through: :list_items
searchable do
text :brand, :stored => true
text :details, :stored => true
text :product, :stored => true
integer :id, :references, :stored => true
end
end
Как выглядит ваша модель 'Item? – zeantsoi
Обновлено с моделью товара. – settheline
Какая модель хранит? Item_id? – zeantsoi