我在Rails中得到了这个文本域,我在编辑中输入了这个:
升降机09:00-00:45 - 6月中旬(最后 提升到顶部23:00,到其他 9月中旬24:00),09:30-23:45 (最终提升到22:30,到 其他楼层23:00),楼梯 09年6月中旬09:00-00:30(决赛 入场时间为24:00),09:30-18:30 6月中旬(最后入场时间18:00)
但是在节目中,它被截断了:
升降机09:00-00:45 - 6月中旬(最后 提升到顶部23:00,到其他 9月中旬24:00),09:30-23:45 (最终提升到22:30,到 其他楼层23:00),楼梯 09年6月中旬09:00-00:30(决赛 入场时间为24:00),09:30-18:30 6月中旬(最后一次)
当我再次返回编辑以检查它是否仍然存在时,它被截断了。我尝试了其他文字,也被截断了。是字符限制问题吗?
我的Rails应用中没有特殊代码可以导致此问题。我只使用了<%= sanitize @shop.operation_hours %>
。即使我关闭sanitize
,问题仍然存在。
答案 0 :(得分:0)
您的文字已被截断为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
答案 1 :(得分:0)
>> "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
)