我的模型只保存了一些信息

时间:2011-03-08 00:47:08

标签: ruby-on-rails debugging forms

这是一个使用CKeditor的简单轨道形式。

我正在保存内容,它会显示在更新中。

pp params[:email]["body"]
"<br />\r\nheyyy<br />\r\nbut now i am going to save this past 9 lines.<br />\r\ncuz  that&#39;s what this is all about<br />\r\n<br />\r\nI am crazy like that<br />\r\nc<br />\r\ncrazy<br />\r\ncrazy c<br />\r\ncrazy<br />\r\n<br />\r\nhere is another line..<br />\r\noh@!!&amp;<br />\r\nfa<br />\r\nsdf<br />\r\nas<br />\r\ndf<br />\r\nasd<br />\r\nfa<br />\r\nsdfasdf<br />\r\n"

然后我的控制器就这样:

@emails = Email.find(params[:id])

然后!在调用之后,我在ruby-debug中键入@emails.body,然后输出1/2! :

@emails.body
"<br />\r\nheyyy<br />\r\nbut now i am going to save this past 9 lines.<br />\r\ncuz  that&#39;s what this is all about<br />\r\n<br />\r\nI am crazy like that<br />\r\nc<br />\r\ncrazy<br />\r\ncrazy c<br />\r\ncrazy<br />\r\n<br />\r\nhere is another line..<br />\r\noh@!!&"

为什么会这样?

该属性在我的数据库中保存为字符串。

3 个答案:

答案 0 :(得分:1)

body是什么类型的列?可能是它是一个MySQL varchar(255)或类似的东西只是被重载了吗?

答案 1 :(得分:1)

您可能将其作为varchar而不是文本存储在数据库中。根据varchar的长度,它将简单地截断数据而不是返回错误。您可以在迁移中轻松更改列类型:

change_column :my_table, :my_column, :text

答案 2 :(得分:0)

你确定你打过电话:

 @emails.save

在控制器??

如果是,请尝试致电:

 @emails.save!

如果出现问题,应该引发错误。