リンクにサプライヤ名を含むリンクのリストを作成し、そのサプライヤ名でデータをエクスポートしようとしています。現時点でモデルに入力したものが間違っていることはわかっています。サプライヤを適切に渡す方法がわかりません。これがあいまいな場合は申し訳ありませんが、これまでのコードは次のとおりです。
コントローラ
def export_supplier
@software = Software.find_supplier
software = CSV.generate do |csv|
# for the headers of the csv file
csv << ["Quantity", "Item Number", "Item Description"]
# the chosen rows from the database
@software.each do |s|
csv << [s.amount, s.productcode, s.description]
end
end
send_data(software, :type => 'text/csv', :filename => 'software.csv')
end
意見
<% @softwares.each do |l| %>
<li>
<%= link_to "#{l.supplier}", :controller =>'softwares', :action => 'export_supplier'%>
</li>
<% end %>
モデル
def self.find_supplier
find_by_sql("SELECT s.productcode, s.description, CAST(SUM(l.amount) as UNSIGNED) AS amount
FROM softwares s
LEFT JOIN licenses l ON s.id=l.software_id
WHERE s.supplier = #{l.supplier} AND l.amount > 0
GROUP BY s.supplier, s.vendor, s.title, s.edition")
end