ruby-on-rails – Rails与没有模型的表关联

我想在Rails中重写我的项目.它目前用 PHP(CodeIgniter)编写,我已经到了我正在编写更多库和核心扩展而不是编写新代码的地步.我一直在看一些Rails教程,我喜欢到目前为止看到的内容(尽管我觉得你对传递的内容的控制较少).然而,似乎没有模型的数据库表上有很少的信息(可能我没有找到正确的位置).

例如,我需要一个名为user_verification_token的表

CREATE TABLE IF NOT EXISTS `user_verification_token` (
  `user_id` int(11) NOT NULL,`token` varchar(255) COLLATE utf8_unicode_ci NOT NULL,`is_used` tinyint(1) NOT NULL DEFAULT '0',PRIMARY KEY (`user_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

我为此创建一个模型没有意义,对吧?

一个问题:如何在没有任何模型的情况下生成迁移以单独创建表?

第二个问题:当此表填充数据时,如何与其关联.例如将它与用户模型(如果可能)/用户对象相关联,这样我就可以通过令牌找到用户(提供is_used = 0)并返回用户的数据?

如果这是一个新问题我提前道歉,我可以用PHP轻松完成所有这些,但我不知道如何在Rails上执行此操作.

解决方法

您当前的场景确实需要一个模型,但是当您需要存储类似数据的数据时,例如体育(足球,网球,板球,游泳,篮球等),您可以将它们作为常量存储在您的config-> initializers->常量中例如. SPORT_CATEGORIES = [[“足球”,“足球”],[“网球”,“网球”]等,或者如果你有更多的cols来存储你可以创建一个模型,然后像在PHP中创建认行.sql文件,但在ruby当然:)例如:

sport_categories = [
    {:category => "football",:category_type => "manly" },{:category => "Tennis",etc
]

sport_categories.each do |attributes|
    Model_name_here.find_or_initialize_by_category(attributes[:category]).tap do |p|
        p.category_type = attributes[:category_type]
        p.save!
    end
end

然后你运行rake db:seed.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...