Как ограничить количество символов / слов в строковом значении базы данных в Sinatra / Active Record? - PullRequest
0 голосов
/ 26 мая 2018

В моей базе данных ActiveRecord есть столбец, в котором я хочу указать определенное количество слов.

По сути, я создал форму, которая позволяет пользователям вводить текст (строку).Я хочу ограничить количество символов, разрешенных в этой строке.

@allposts = Post.limit(20)

Это то, что я пока имею в методе get для страницы /current, которая публикует всесодержания.20 = количество отображаемых сообщений.

У меня также есть страница /new, где пользователи будут публиковать новый контент.

1 Ответ

0 голосов
/ 26 мая 2018

Вы можете ограничить количество символов несколькими различными способами:

1. Определение предела создаваемого поля HTML:

<input class="ip-input" id="ip" maxlength="15" name="ip" size="20" type="text" value="0.0.0.0" />

путем изменения атрибута maxlength.Пример взят из здесь .

2. Используя опцию validates в пользовательской модели:

validates :attribute_you_want_to_limit, length: { maximum: 50 }

Подробнее об этой опции можно узнать здесь .

3. Установка предела в схеме:

t.string :your_attribute, :limit => 20

Первая опция не позволит пользователю больше вводить данные в поле, вторая не позволит сохранитьобъект и третий параметр не позволят атрибуту быть сохраненным в базе данных.

Я рекомендую второй вариант.

Вы также можете использовать Javascript несколькими различными способами, Вот хорошее объяснение того, как.

...