ruby-on-rails - Rails 2 中现有表的模型

标签 ruby-on-rails database model

我有一个包含表的数据库。我想根据现有表在我的 Rails 应用程序中创建一个模型。据我所知,这样的功能是可用的,并按如下方式完成:

script/generate scaffold <i>model_name</i> --skip-migration


当然,我在 database.yml 文件中定义了我的数据库。脚手架为我生成了一个带有 Controller 和 View 的模型。我的表名不是 Rails 必须的(这是不正确的,不遵循约定),我将 set_table_name 添加到我的 Controller 。但是,当我调用索引方法时,在我的页面上我只有一组# 符号,而不是来自数据库的数据。在我的 index.html.erb 中,我只通过脚手架生成了代码。我怎样才能打印出我的数据库数据?

最佳答案

您是否已从现有数据库生成架构文件?如果你运行命令

rake db:schema:dump

然后重新生成您的脚手架,这应该可以解决问题。

此外,您不妨查看 Dr Nic's Magic Model generator .这将为所有现有表生成模型并尝试猜测关系。如果 rails 无法理解您的表命名,这可能不起作用。

更新

我通常不使用默认脚手架,但是我自己测试过,如果您跳过迁移并且不传递任何列名称/类型对,那么脚手架生成器将不会在模板中创建任何内容来呈现列。

这里有两个选择

  1. 传入列名对以及 skip-migration 或
  2. 下载 Ryan Bates Nifty Scaffold generator即使您指定 --skip-migration
  3. 也会使用列名创建脚手架

关于ruby-on-rails - Rails 2 中现有表的模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1612095/

相关文章:

ruby-on-rails - 未找到门卫 new_oauth_application_path

mysql - 用值填充 LEFT JOIN 中的 NULL

python - 在 Django 中,保存两个对象时,外键关系无法正确保存

ruby-on-rails - Rails table_name_prefix 缺失

ruby-on-rails - 从 Rails 模型生成 schema.rb(不带数据库)

javascript - rails 5.2 Webpacker Assets 管道

c# - 从 SessionFactory 获取 ConnectionProvider

database - 错误 :could not identify an equality operator for type point

validation - CakePHP 3 ownToMany 验证

ruby-on-rails - 每个 Rails 项目都必须有 ruby gem (2011 版)