我在Rails中获得了这个textfield,我在编辑中输入了以下内容:
电梯09:00-00:45 6月中旬-8月(最终提升到前23:00,其他等级24:00),09:30-23:45 9月-6月中旬(最终提升到前22:30,其他级别23:00),楼梯09:00-00:30 (最终入场时间24:00),09:30-18:30 9月-6月中旬-6月中旬-6月中旬-6月(最终入场时间18:00)
但在表演中,它被截断了:
提升09:00-00:45 6月中旬-8月(最终提升到前23:00,其他等级24:00),09:30-23:45 9月-6月中旬(最终提升到前22:30,到其他级别23:00),楼梯09:00-00:30 6月-8月中旬-8月30日(最终入场24:00),09:30-18:30 9月-6月中旬-6月中旬-6月中旬-6月
当我再次回到编辑处检查它是否还在的时候,它就被截断了。我试过其他的文字,也被截断了。这是字符限制问题吗?
在我的Rails应用程序中没有特别的代码来造成这种情况。我只使用<%= sanitize @shop.operation_hours %>。即使我关闭了sanitize,问题仍然存在。
发布于 2010-11-09 08:39:56
您的文本被截断为256个字符。
假设这些数据存储在由数据库支持的模型对象中,我强烈怀疑这是由于数据库中的列长度所致。标准的“string”字段通常默认为256个字符长。
尝试创建一个将列改为“text”类型的迁移:
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发布于 2010-11-09 08:39:59
>> "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似乎您已经使用string类型创建了您的string列,这导致了varchar(255)。因此,当您将一个长字符串保存到db中时,它会被截断。您需要摆脱这个约束(例如,将列类型更改为text)
https://stackoverflow.com/questions/4131717
复制相似问题