У меня небольшие проблемы с загрузкой значений в файл CSV. У меня есть две модели, даунтаун и свойства. Даунтаунс имеет много свойств. У свойств каждого есть один центр города. У меня проблема в том, что с тем, что я сделал, я смог загрузить все свойства, и это круто! Но я борюсь с тем, чтобы загружать только объекты, принадлежащие центру города.
К тому, что я изначально должен загрузить все свойства, которые у меня есть
В моем контроллере свойств:
def index
@properties = Property.all
respond_to do |format|
format.html
format.csv { send_data @properties.to_csv }
end
end
В моей модели свойств
def self.to_csv
attributes = %w(id name owner_first_name created_at)
CSV.generate(headers: true) do |csv|
csv << attributes
all.each do |property|
csv << property.attributes.values_at(*attributes)
end
end
end
и затем, на мой взгляд, у меня есть.
= link_to "download CSV", downtown_properties_path(:format => :csv), class: "button"
Итак, снова это работает, но из-за моих ассоциаций представление, где я могу добавить свою ссылку, может быть только в downtowns/1/properties
, который основан на моем вводе кода в index
это на самом деле имеет смысл
Я пробовал что-то вроде
@download_properties = Property.where(downtown: @downtown_id)
respond_to do |format|
format.html
format.csv { send_data @download_properties.to_csv }
end
Однако @downtown_id
не определено на этом этапе. Так что я думаю, что решение лучше в модели downtown
?
Если у кого-нибудь есть идеи, которые просматривают это и могут помочь мне, я был бы очень признателен!