Текст был усечен без причины в Rails - PullRequest
0 голосов
/ 09 ноября 2010

Я получил это текстовое поле в Rails, я ввел его в редактировании:

Лифты 09: 00-00: 45 середина июня (окончательное восхождение на вершину 23:00, на другие уровни24:00), 09: 30-23: 45 сент-середина июня (окончательное восхождение на вершину 22:30, на другие уровни 23:00), лестница 09: 00-00: 30 середина июня-август (окончательный вход)24:00), 09: 30-18: 30 сентябрь-середина июня (окончательный вход 18:00)

Но затем в шоу это усечено:

Лифты: 09: 00-00: 45 середина июня-август (окончательное восхождение на вершину 23:00, на другие уровни 24:00), 09: 30-23: 45 сентябрь-середина июня (окончательное восхождение на вершину 22:30, на другие уровни 23:00), Лестница 09: 00-00: 30, середина июня-август (окончательный вход 24:00), 09: 30-18: 30, сентябрь-середина июня (финальный адм.

Когда я снова возвращаюсь к редактированию, чтобы проверить, все еще ли оно там, оно было усечено. Я пробовал другой текст, тоже было усечено. Это ли проблема с ограничением символов?

Никакого специального кода в моемПриложение Rails, чтобы вызвать это. Я только использовал <%= sanitize @shop.operation_hours %>. Даже если я выключил sanitize, проблема все еще сохраняется.

Ответы [ 2 ]

0 голосов
/ 09 ноября 2010
>> "Lifts 09:00-00:45 mid-Jun-Aug (final ascension to top 23:00, to other levels 24:00),
   09:30-23:45 Sep-mid-Jun (final ascension to top 22:30, to other levels 23:00),
   Stairs 09:00-00:30 mid-Jun-Aug (final admittance 24:00), 09:30-18:30 Sep-mid-Jun
   (final adm".length
=> 255

Кажется, вы создали столбец operation_hours с типом string, в результате чего varchar(255). Поэтому, когда вы сохраняете длинную строку в БД, она усекается. Вам нужно избавиться от этого ограничения (например, изменить тип столбца на text)

0 голосов
/ 09 ноября 2010

Ваш текст был усечен до 256 символов.

Предполагая, что эти данные хранятся в объекте модели, поддерживаемом базой данных, я сильно подозреваю, что это связано с длиной столбцов в вашей базе данных. Стандартные «строковые» поля часто по умолчанию имеют длину 256 символов.

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

class ChangeColumnToString < ActiveRecord::Migration
  def self.up
    change_column :table_name, :attribute, :text
  end

  def self.down
    change_column :table_name, :attribute, :string
  end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...