ruby-on-rails – Rails与没有模型的表关联
发布时间:2020-12-17 02:38:12 所属栏目:百科 来源:网络整理
导读:我想在Rails中重写我的项目.它目前用 PHP(CodeIgniter)编写,我已经到了我正在编写更多库和核心扩展而不是编写新代码的地步.我一直在看一些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. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |