ruby на рельсах regex с участием новой строки - PullRequest
0 голосов
/ 14 февраля 2019

Мой проект представляет собой проект Ruby on Rails с рельсами версии 5.1.2

У меня есть модель с именем CannedResponse, которая имеет атрибуты name и response, которые являются строками.Чтобы создать постоянный ответ с именем «ABC» и ответом

A

B

C

таким образом, чтобы каждый из «A», «B», «C» находился на новой строке, я ввожу так, как он есть наформа.В консоли базы данных / рельсов я вижу CannedResponse.find_by_name("ABC").response возвращает "A\r\nB\r\nC"

Пока все хорошо.

Тогда у меня есть другая модель Message, которая имеет атрибут body в виде строки.Я хочу, чтобы при щелчке по стандартному ответу javascript (с использованием jQuery) автоматически заполнял часть тела формы сообщения ответом из стандартного ответа.Например, на странице с формой создания сообщения, в которой также есть список стандартных ответов, я нажимаю стандартный ответ «ABC», часть тела формы «Сообщение» автоматически заполняется

A

B

C

Это отлично работает на внешнем интерфейсе, используя этот код:

$('#canned-response-response').val("<%== escape_javascript @canned_response.response %>");
let response = $('#canned-response-response').val()
$('#message-body-text').val(response);

Затем я нажал «создать» и увидел, что это происходит в журнале:

INSERT INTO "messages" ("account_id", "to", "from", "body", "created_at", "updated_at", "service_provider_id", "read", "user_id", "ticket_id") VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10) RETURNING "id" [["account_id", 7], ["to", "16046140460"], ["from", "16477298395"], ["body", "A\nB\nC"],.

Параметрами "body" стало "A\nB\nC" вместо "A\r\nB\r\nC" (именно таков ответ на самом деле готового ответа).

В результате, когда я делаю Message.where('body LIKE ?, "%#{canned_response.response}%"), я ничего не получаю.Но Message.where('body LIKE ?, "%#{"A\nB\nC"}%") вернет что-то.

Есть ли способ предотвратить это?

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