我正在尝试在我的项目中实现类似于Facebook的群组功能。我正在使用Rails 2.0.2和Ruby 1.8.7来实现项目特定目的。我使用的是Ubuntu 10.04操作系统。
我想为讨论主题和相应的评论实现一个文本字段,其大小会随着文本大小的增加而动态增加。
在定义迁移时的Rails中,有一种方法可以为描述等属性设置一个巨大的文本区域,迁移t.text :description
中的代码就像这样。
现在,在讨论主题和相应评论不是很大的大多数情况下,这看起来不太好。
考虑到这一点,是否还有其他方法,其中文本字段可以通过基于在运行时输入的文本的大小动态控制。如果是,请指导我如何进行相同的工作。
此外,我必须将其命名为什么类型的属性。
对此的任何意见/建议都非常感谢..
谢谢...... :)
答案 0 :(得分:1)
好的,首先我应该指出迁移文件中的t.text
不一定是您在视图中获得大文本区域的原因。 t.text
只是通知rails生成器在给定的表中创建一个可以存储大文本数据的列。
但是如果你使用脚手架,生成的视图将使用f.text_area
来渲染屏幕上的相应字段,这就是它看起来很大的原因。
现在,如果您希望保持文本区域较小并根据其内容增长,则需要使用JavaScript。我最喜欢的JavaScript库/ framrwork是jQuery,如果你熟悉jQuery,你可以使用像jQuery expanding text area(demo)之类的jQuery插件来实现它。但是Rails 2默认使用Prototype / Scriptaculous,如果你想坚持使用它,那么你可以使用类似的Prototype插件,如this one,或者从头开始编写像this这样的东西。