ruby-on-rails – 测试:模块的未定义方法`new’
发布时间:2020-12-17 01:46:13 所属栏目:百科 来源:网络整理
导读:您好我有一个命名空间冲突的问题.我有一个模型:测试和控制器TestsController.服务器显示错误 undefined method `new' for Test:Module 我读了这个问题rails models 在模块UserTest中添加到模型Test中 module UserTest class Test ActiveRecord::Base .... e
您好我有一个命名空间冲突的问题.我有一个模型:测试和控制器TestsController.服务器显示错误
undefined method `new' for Test:Module 我读了这个问题rails models 在模块UserTest中添加到模型Test中 module UserTest class Test < ActiveRecord::Base .... end end 并添加到控制器 class TestsController < ApplicationController def new @test = UserTest::Test.new @test.questions.build @title = "New test" end ... end 服务器显示错误:未初始化的常量TestsController :: UserTest 阅读更多后,我意识到可能需要添加require或包含一个控制器.只有我不明白该怎么做.请告诉我. 解决方法
Rails中的约定是转换文件中的类名和目录中的模块名.因此,如果将UserTest :: Test类放在app / model目录中的test.rb文件中,则自动加载无法获取您的类.因为在app / model / user_test / test.rb文件上搜索.
因此,您可以通过在文件顶部添加require来“强制”控制器中的require.如果你把你的课程放在test.rb中,则需要:require’test.rb’ 要知道如何定义您的需求是认为应用程序的LOAD_PATH添加app / model目录.因此,所有内部都可以通过要求目录名和文件名直接添加. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |