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

ruby-on-rails – Rails与没有模型的表关联,第1张

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

然后你运行rake db:seed.

总结

以上是内存溢出为你收集整理的ruby-on-rails – Rails与没有模型的表关联全部内容,希望文章能够帮你解决ruby-on-rails – Rails与没有模型的表关联所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/langs/1281010.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-09
下一篇2022-06-09

发表评论

登录后才能评论

评论列表(0条)

    保存