ruby-on-rails - 将附加参数传递给 Rails 生成模型?

标签 ruby-on-rails activerecord ruby-on-rails-3

我是 Ruby 和 Rails 的新手,我在 Ruby 1.9.2 上运行 Rails 3。

我想创建一个模型,所以我查看了 documentation获得我想要的表定义,但我想知道如何将它传递给 rails generate 模型?

基本上我想要这个:

title :string, :null => false
details :text, :limit => 30000, :null => false

但是我只能指定列名和类型,不能指定:null 或:limit。

我试过 rails model generate Article (title:string, :null => false) (details:text, :limit=>30000, :null => false)但这只是告诉我 ( 是一个意外的标记。

如果我只是用 title:string details:text 生成模型,那么 article.rb 文件是空的,大概是因为它无论如何都是从数据库中读取的。

由于 Rails 中的一切都应该是 a) 简单和 b) 魔法,我想知道我是否只是遗漏了一些东西并且必须传递诸如哈希之类的东西来生成模型?还是我真的必须手动编辑迁移 .rb 文件?

最佳答案

是的,您必须为此手动编辑迁移文件。生成器只是提供了一个起点,它并不能做所有事情。

无论如何,在迁移文件中执行此操作非常容易。

create_table :articles do |t|
  t.string :title, :null => false
  t.text   :details, :limit => 3000, :null => false
end

关于ruby-on-rails - 将附加参数传递给 Rails 生成模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4562677/

相关文章:

css - Rails 中的供应商/ Assets

ruby-on-rails - 哪个RoR模板引擎与Razor模板引擎相似?

ruby-on-rails - 处理具有三种连接类型的 ActiveRecord where 子句的最佳方法

ruby-on-rails - 如何干燥这段代码?

ruby-on-rails - rails - 什么 - block 参数的多个值(0 表示 1) - 是什么意思?

ruby-on-rails - 检查嵌套资源的当前父 Controller

ruby-on-rails - 如何从 Rails connection.execute 转换数据类型

mysql - ActiveRecord > MySQL 适配器 > 未定义方法 `more_results'

ruby-on-rails-3 - 如何使继承的资源可选嵌套为单例?

ruby-on-rails - Rails 3 给出 URL 中的点的路由错误