У меня проблема с некоторыми надоедливыми select_tags, я могу заставить их нормально отображать данные на новом, но когда дело доходит до редактирования, они не отображаются, вот код, который у меня есть на данный момент. Думаю, мне нужно использовать include?
, но я не знаю, куда его поставить.
Это то, что у меня есть на данный момент для нового
<% @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
Как я могу сделать так, чтобы у меня был только один выбор, а не один для нового и один для редактирования?
@results
или@found
. - person John Topley   schedule 26.07.2010