У меня есть форма выбора, где по умолчанию мне нужно выбрать «основную» корневую папку, но мне также нужно, чтобы она использовала параметры, если они существуют для выбранной опции.Я видел примеры использования параметров в качестве выбранных, если они не равны нулю.Но я не видел пример использования другого значения, если параметр равен нулю (используйте это, если оно не пустое, в этом случае - используйте другое).
VIEW
<%= f.select :folder_id, options_for_select(@folders, @folder_to_select ) %>
КОНТРОЛЛЕР:
if !params[:contact][:folder_id].nil?
@folder_to_select = params[:contact][:folder_id].to_i
else
@folder_to_select = @folders.assoc('MAIN').last.to_i
end
Могу ли я получить все функции логики контроллера внутри Select?
Спасибо!
edit:
Я пропустил это, но мойИсходный код контроллера на самом деле не работал.Я должен был проверить, был ли параметр [: contact] равен нулю, прежде чем я смог проверить, было ли [: contact] [: folder_id] равным nil (чтобы избежать ошибки, равной нулю, если верхнего уровня [: contact] не существует.
if !params[:contact].nil?
if !params[:contact][:folder_id].nil?
@folder_to_select = params[:card][:folder_id].to_i
else
@folder_to_select = @folders.assoc('MAIN').last.to_i
end
end