Rails преобразует строку в массив в before_save, но отображается как строка - PullRequest
0 голосов
/ 01 июля 2019

Итак, я работаю с электронными письмами в форме. В настоящий момент он принимает только одно электронное письмо, но мы хотим отправить несколько электронных писем, что означает, что форма может принимать несколько символов.

Моя мысль - сделать before_save, чтобы преобразовать электронные письма, введенные в массив, и обработать отправку электронных писем в виде массива. Проблема в том, что форма все еще отображает массив. Итак, в моей модели есть следующее:

before_save do
 self.email = self.email.split(',').map(&:strip)
end

Данные преобразуются в массив штрафа. Однако форма отображает данные в виде массива и не может быть обновлена, пока не будет изменена на строку.

Форма выглядит так:

=tb_form_for [:admin, @contact], remote: true, data: { errors: :inline, success: thanks_path } do |f|
 = f.tb_text_field :email.to_s

Но на самом деле это не преобразование в строку массива.

Есть ли другой способ принять данные в виде строк, преобразовать в массив и иметь возможность отображать в виде строки?

1 Ответ

0 голосов
/ 01 июля 2019

Вместо вызова .to_s вы можете преобразовать массив в строку с помощью email.join(','), что преобразовало бы его в нечто вроде "email a,email b,email c"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...