ruby-on-rails - 带关联的 Ruby on Rails Activemodel

标签 ruby-on-rails associations activemodel

实际上,我在计算机科学方面遇到了一些困难的练习(我认为对我来说很难,哈哈)。

我们正在使用 Ruby on Rails 做一些基本的事情,我必须打开一个 csv 文件来获取关于我的“用户”模型的更多信息,这是一个普通的 Rails 脚手架。

所以现在我打开我的 users_controller.rb 文件中的 csv 文件并搜索正确的行并将它们添加到实例变量中。

但我想知道我是否可以编写一个类似于 ActiveRecord 模型的类。所以我更改代码以使用 ActiveModel。但正如我在一些谷歌搜索结果中所读到的,ActiveModel 不能像关联那样使用 ActiveRecord。但拥有它们会很棒。

所以我希望你能帮助我。我怎样才能为我的模型提供像关联这样的 ActiveRecors?

问候语 梅兰妮

最佳答案

CSV 文件应该表示为模型是绝对正确的,因为它是数据。

但是,尝试合并事件模型听起来很棘手,几乎肯定需要大量的黑客攻击或猴子修补。

除非你真的需要关联到其他模型,否则我会在模型目录中创建一个独立的类(即不继承 ActiveRecord::Base),并将解析 CSV 的逻辑放在那里:

class User
    attr_accessor :name, :email, ...

    def initialize(name,email,...)
        # set data
    end

    def self.find(param_for_search)
        # Parse CSV file, find line you want
        # return a User instance
        self.new(name, email)
    end
end

我不确切地知道你的系统是如何工作的,但通过这种方式你可以让它以类似于事件模型的方式运行。您可以添加类似的类方法,每个实例方法代表一个 CSV 文件行。

关于ruby-on-rails - 带关联的 Ruby on Rails Activemodel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13582575/

相关文章:

ruby-on-rails - 事件记录 : milliseconds aren't taken into account when using a where clause

ruby-on-rails - 唯一性验证测试的外键约束问题

ruby-on-rails - 嵌套路由的 url 中的用户名

ruby-on-rails - 在 Rails 中没有其他查询的情况下限制急切加载 `where`

ruby-on-rails - 如何在 `wishlist_id` 的 `wishlist_entry` 字段中保存新愿望 list 的 ID?

json - grails,在将域列表呈现为 JSON 时禁用急切获取

ruby-on-rails - 通过关联新建模型对象

ruby-on-rails - ruby on rails 是否在锁定事件记录时自动锁定事件记录关联?

ruby-on-rails - Rails before_destroy 回调数据库更改总是回滚

ruby-on-rails - Rails where 条件和顺序