Это всего лишь вариант подхода, который Энди использовал выше, но ...
Шаблон, который я обычно использую сейчас, заключается в написании простой функции JavaScript, которая будет загружать выбранный путь:
CHATROOM.display_selected = function(id, base_path)
{
window.location = base_path + '?id=' + id;
}
Затем эта функция вызывается заменой тега select:
select_tag("chat_room",options_for_select(chat_rooms, selected), :onchange => "CHATROOM.display_selected(this.value, '#{chat_rooms_path}')")
Где переменная пути - это базовый путь для чатов.