首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Rails中文本被毫无理由地截断。

在Rails中文本被毫无理由地截断。
EN

Stack Overflow用户
提问于 2010-11-09 08:31:14
回答 2查看 148关注 0票数 0

我在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,问题仍然存在。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-11-09 08:39:56

您的文本被截断为256个字符。

假设这些数据存储在由数据库支持的模型对象中,我强烈怀疑这是由于数据库中的列长度所致。标准的“string”字段通常默认为256个字符长。

尝试创建一个将列改为“text”类型的迁移:

代码语言:javascript
运行
复制
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
票数 0
EN

Stack Overflow用户

发布于 2010-11-09 08:39:59

代码语言:javascript
运行
复制
>> "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)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4131717

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档