Привет, У меня есть приложение для рельсов, которое содержит модель канала. Его атрибуты являются следующими:ruby first_or_create метод, не обновляющий модель и базу данных
# Table name: channels
#
# id :integer not null, primary key
# created_at :datetime
# updated_at :datetime
# channel_name :string(255)
# classification :string(255) default("0")
# ownership :string(255) default("0")
Многоотводного задача в моем приложении прочитал файл CSV и густонаселенную информацию в базе данных. Это снимок кода, который создает Типовом
...previous code........
channelName = nil
classif = nil
owner = nil
channelName = row[0].force_encoding('UTF-8')
classif = row[1].force_encoding('UTF-8')
owner = row[2].force_encoding('UTF-8')
if (channelName.nil?)
puts "Channel name for row #{i} was nil"
next
else
puts "Creating channel hash with information:"
puts "channel_name= #{channelName}"
puts "classification=#{classif}"
puts "ownership= #{owner}"
ch = Channel.where(:channel_name =>"#{channelName}").first_or_create do |c|
c.ownership = "#{owner}"
c.classification = "#{classif}"
Поскольку задача была в состоянии прочитать файл CSV и заполнить базу данных, «создать» часть методы «first_or_create» работает. Однако, когда я изменяю некоторые вещи в файле csv и повторяю задачу rake, он должен обновлять базу данных с измененным содержимым. Это не так. Мне интересно, это как-то связано с синтаксисом моего метода? неправильная часть блока?
@dax Пожалуйста, прекратите редактировать запись Аскера, особенно если вы просто удалите «спасибо за вашу помощь» часть ... – MrYoshiji
Hi @MrYoshiji, я уходящий из [этого] (Http: // меты. stackexchange.com/questions/122535/what-is-the-etiquette-for-adding-a-signature-to-a-question), которые кто-то цитировал в ответ на редактирование моего собственного вопроса. – dax