2010-07-26 67 views
0

我遇到了一些煩人的select_tags問題,我可以讓他們在新數據上顯示數據,但是當編輯時,他們不顯示,這裏是我在此時此刻。我想我需要使用include?,但我不知道該把它放在哪裏。select_tag倍數和偏數

這是我目前所面對的新

<% @data = Code.find(:all, :conditions => "section = 'Location'") %> 
<%= select_tag "candidate[code_ids][]", options_for_select(@data.map{|d| ["#{d.value}",d.id]}), :multiple => true %> 

這是編輯

<% @data = Code.find(:all, :conditions => "section = 'Location'") %> 
<%= select_tag "candidate[code_ids][]", options_for_select(@data.map{|d| ["#{d.value}",d.id]},@found), :multiple => true %>   

在我的控制器我有這裏面抓住一切都是相關的代碼該候選人。

@results = Candidate.all :joins => 
    "LEFT JOIN candidates_codes ON candidates.id = candidates_codes.candidate_id", 
    :conditions => ["candidates.id = ?", params[:id]], 
    :select => "candidates_codes.code_id" 
#create an array of the candidates selected codes 
@found = [] 
for c in @results 
@found.push(c.code_id.to_i) 
end 

我該如何做到這一點,所以我只有一個選擇,而不是一個新的和一個編輯?

+0

的兩段代碼,你已經如何張貼彼此相關?第一個片段不使用「@ results」或「@ found」。 – 2010-07-26 15:28:54

+0

我也加了編輯,謝謝約翰 – 2010-07-26 15:50:28

回答

0

很久以後,你問......但這是我已經能夠做出多選擇下拉重新加載正確的形式每次。誠然,這是一個使用PARAMS和沒有數據...

<%= type_list = EventConstants::EventType::to_array 
    select_tag(:event_types, options_for_select(type_list, params[:event_types]), 
       :multiple => true, :size => 5) %> 

由於我使用的mongo_mapper,我只能勇敢的連鎖查詢,像這樣:

qry_where = qry_where.where(:event_type.in => params[:event_types]) if params[:event_types] && !params[:event_types].include?("All")