Выбрать тег - с помощью логики указать выбранное значение - PullRequest
1 голос
/ 01 февраля 2011

У меня есть форма выбора, где по умолчанию мне нужно выбрать «основную» корневую папку, но мне также нужно, чтобы она использовала параметры, если они существуют для выбранной опции.Я видел примеры использования параметров в качестве выбранных, если они не равны нулю.Но я не видел пример использования другого значения, если параметр равен нулю (используйте это, если оно не пустое, в этом случае - используйте другое).

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

1 Ответ

1 голос
/ 01 февраля 2011

Да.

<%= f.select :folder_id,  options_for_select(@folders, params[:contact][:folder_id].to_i || @folders.assoc('MAIN').last.to_i)  %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...