Как сохранить дополнительную информацию из формы Devise?

Начиная с C ++ 11, безопасный для памяти способ сделать это (все еще используя аналогичную конструкцию) с помощью std::unique_ptr :

std::unique_ptr array(new int[n]);

Это создает умный указатель на блок памяти, достаточно большой для целых чисел n, который автоматически удаляет себя, когда он выходит из области видимости. Эта автоматическая очистка важна, потому что она избегает сценария, когда ваш код рано уходит и никогда не достигает вашего оператора delete [] array;.

Другой (вероятно, предпочтительный) вариант должен был бы использовать std::vector , если вам нужен массив, способный к динамическому изменению размера. Это хорошо, когда вам нужно неизвестное пространство, но оно имеет некоторые недостатки (непостоянное время для добавления / удаления элемента). Вы можете создать массив и добавить к нему элементы с чем-то вроде:

std::vector array;
array.push_back(1);  // adds 1 to end of array
array.push_back(2);  // adds 2 to end of array
// array now contains elements [1, 2]

0
задан Marek Lipka 6 March 2019 в 13:56
поделиться

1 ответ

Хорошо, ваши параметры переданы, но не в правильном пространстве имен. Вместо select_tag вы должны использовать метод f.select:

<%= f.select(:city_id, options_for_select(City.pluck(:name, :id), target_blank: true )) %>

И также для второго из ваших параметров.

0
ответ дан Marek Lipka 6 March 2019 в 13:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: