-6ren">
gpt4 book ai didi

ruby-on-rails - 如何获取 Rails 模板以在迁移列上添加其他属性?

转载 作者:数据小太阳 更新时间:2023-10-29 07:57:24 25 4
gpt4 key购买 nike

如何将默认值等内容添加到应用程序模板的迁移中。

例如在 template.rb 中:

generate(:scaffold, "Thing title:string")

, :default => 'Foo Bar', :null => false 之类的内容添加到创建标题列的迁移行中的最佳方法是什么。

我有两个想法,但不知道是否可行。

首先,是否可以将额外的属性添加到生成器的列中?调用rails g scaffold命令时是否可以设置默认值?

其次,我可以在模板中的生成行之后添加 gsub_file 行吗?我不知道如何在文件名称的一部分未知(迁移时间戳)的文件上执行 gsub_file。

Rails-3.1.0
Ruby-1.9.2-p290

最佳答案

根据@mu_is_to_short 的信息,我想出了一个不优雅但确实有效的解决方案。请随意评论如何清理它。在我的 Rails 模板中:

generate "migration add_index_to_users_email"
index_migration_array = Dir['db/migrate/*_add_index_to_users_email.rb']
index_migration_file = index_migration_array.first
in_root { insert_into_file index_migration_file,
"\n add_index :users, :email, unique: true", after: "change" }
rake "db:migrate"

Thor 关于 in_root 的文档很少。初学Dir等知识,在此一问一答,谢谢!它们正是我所需要的。

关于ruby-on-rails - 如何获取 Rails 模板以在迁移列上添加其他属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7690003/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com