如何在ruby中使用rails api find_or_create_by?

时间:2018-04-21 16:25:26

标签: ruby-on-rails ruby testing methods rspec

我试图为rails运行测试宝石。 在测试中,我在ruby而不是rails。 此代码的目的是创建rails模块。

但是这种代码将是一个应该在rails中运行的模板。 当测试遇到像

这样的问题时出现问题
  constructor(private serverService: ServerService) {}


 ngOnInit() {
     // Chart
     this.chartOptions = {
         responsive: true
     };

     this.serverService.getServers()
         .subscribe(data => {
             // Passing X-axis data in a graph
             this.chartData = [{
                 data: [data.temp],
                 label: 'Temp vs Time'
             }, ];
             // Passing Y-axis data in a graph
             this.chartLabels = [data.time];

             this.chartLabels = [...this.chartLabels, label];

         });
 }

然后

my_module= Myprogram::Module.find_or_create_by
                                             :module_code=>my_module.code, 
                                             :code=> scode, 
                                             :name=>sname

我的第一个问题是要求(有)具有此方法的宝石。

任何人都可以帮助我。?

1 个答案:

答案 0 :(得分:0)

Myprogram :: Module是使用该类的命名空间的mongoid类。 我修正了错误。

  1. 需要合适的宝石,这是一个mongoid(感谢@marmeladze和mikwat)
  2. require_relative to class(没有这将显示NameError: 未初始化的常量Myprogram :: Module :: Mongoid
  3. 在我的例子中代码:

    .
    .
    require 'mongoid'
    require_relative '../lib/generators/myprogram/templates/app/models/myprogram/module.rb'