0
當以前導入我的CSV文件的數據將上傳排序,但現在,沒有明顯的原因,它不是上傳後排序,我很難找出如何得到它排序。排序導入的文件ruby
要解決這個問題,我正在查看我的文件上傳代碼和HTML代碼。我建立了一個動態的下拉框,用戶選擇一個狀態,該狀態填入下一個下拉框,所有銀行在該狀態下通過銀行名稱列出。我需要第二個下拉框中的銀行名稱按字母順序顯示。以前,當我上傳我的CSV文件時,銀行名稱會按字母順序顯示,但現在不是這樣。
任何幫助將不勝感激。我在這裏可能忽略了一些愚蠢的東西。
FDIC模型
def self.import(file)
CSV.foreach(file.path, headers: true) do |row|
attributes = row.to_hash
attributes['state'] = State.where(name: attributes['state']).first
Fdic.create! attributes
end
end
HTML
<h4>Select a State</h4>
<%= select_tag :state, options_for_select(State.all.pluck(:name)), include_blank: "States" %>
<h4>Select a Bank</h4>
<%= select_tag :bank, option_groups_from_collection_for_select(@states, :fdic, :name, :id, :bank), include_blank: "Select a Bank" %>
完美工作,謝謝@Alex Golubenko! – BlueDevilPride
我對Ruby比較陌生,最初的本能是爲控制器或HTML添加sort,sort_by或order。訂單是否也可以在這些地方完成,或僅僅是模型? – BlueDevilPride
@BlueDevilPride當你使用'option_groups_from_collection_for_select'時,你使用模型'Bank',所以這意味着你應該在Model中做出訂單,在Controller中你也可以使用'sort'或'sort_by',但是隻有當你使用控制器的時候) –