Ruby on Rails模型中的'NoMethodError:undefined method'

路易吉·艾弗(LuigiAlver)

我正在创建一个每月进行定期付款的系统,因此我使用every gem创建了一个新的付款要求

问题似乎出在我的“付款模型”方法中。

class Payment < ActiveRecord::Base
  belongs_to :client

  def monthly_payment
    clients = Client.all
    clients.each do |client|
      Payment.create(month: Date.now, client_id: client.id)
    end
  end
end

在cron.log中,我遇到了NoMethodError,因此我在Rails控制台中尝试了该方法,并出现了相同的错误:

NoMethodError: undefined method `monthly_payment' for Payment (call 'Payment.connection' to establish a connection):Class

模型有问题吗?

这是付款方式:

create_table "payments", force: :cascade do |t|
 t.date     "date"
 t.string   "type"
 t.date     "month"
 t.boolean  "paid"
 t.datetime "created_at", null: false
 t.datetime "updated_at", null: false
 t.integer  "client_id"
end
吉治先生

您必须使用类方法,而不是实例方法:

def self.monthly_payment # notice the self.
  clients = Client.all
  clients.each do |client|
    Payment.create(month: Date.now, client_id: client.id)
  end
end

这样您就可以打电话

Payment.monthly_payment # class method
# method that can be called only on the Payment class

并不是

Payment.where(some_condition).first.monthly_payment # instance method
# method that can be called only on an instance of the Payment class

关于它的有趣链接:http : //www.railstips.org/blog/archives/2009/05/11/class-and-instance-methods-in-ruby/

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Ruby on Rails模型中的'NoMethodError:undefined method'

来自分类Dev

Rails - NoMethodError: undefined method `configure' for #<FirstApp

来自分类Dev

NoMethodError: undefined method `join'

来自分类Dev

ArticlesController 中的 NoMethodError#create undefined method `save' for nil:NilClass

来自分类Dev

NoMethodError undefined method ` ' for nil:NilClass

来自分类Dev

Ruby on Rails模型中的<<

来自分类Dev

ruby 模块中的 NoMethodError

来自分类Dev

Ruby on Rails:Category#new中的NoMethodError

来自分类Dev

NoMethodError (undefined method `user_id=' for nil:NilClass): 在文章控制器中

来自分类Dev

Ruby on Rails的will_paginate-NoMethodError

来自分类Dev

Ruby on Rails中模型的继承

来自分类Dev

Ruby on Rails教程5.11中Articles#edit中的NoMethodError

来自分类Dev

NoMethodError-Rails模型中的计算

来自分类Dev

Ruby on Rails的Nil测试-NoMethodError Nil:class

来自分类Dev

Twilio Ruby SMS: undefined method `empty?'

来自分类Dev

在Ruby on Rails中查看ActiveRecord模型字段

来自分类Dev

Ruby:NoMethodError

来自分类Dev

基于ruby on rails中关联模型属性的模型排序记录

来自分类Dev

在Ruby中定义模块内部的方法(NoMethodError)

来自分类Dev

为什么我在Ruby中收到NoMethodError?

来自分类Dev

为什么我在Ruby中收到NoMethodError?

来自分类Dev

Ruby on Rails模型关联

来自分类Dev

NoMethodError在Rails 4中使用两个模型

来自分类Dev

在Ruby on Rails网站上实现Instagram Gem时出现NoMethodError

来自分类Dev

Ruby on Rails NoMethodError“未定义的方法'translates'”

来自分类Dev

Ruby on Rails Rspec NoMethodError:未定义的方法“ not_to”

来自分类Dev

在Ruby on Rails网站上实现Instagram Gem时出现NoMethodError

来自分类Dev

学习 Ruby on Rails:NoMethodError(未定义方法 `[]' for nil:NilClass):

来自分类Dev

如何在Ruby on Rails / ActiveRecord中克隆模型?

Related 相关文章

  1. 1

    Ruby on Rails模型中的'NoMethodError:undefined method'

  2. 2

    Rails - NoMethodError: undefined method `configure' for #<FirstApp

  3. 3

    NoMethodError: undefined method `join'

  4. 4

    ArticlesController 中的 NoMethodError#create undefined method `save' for nil:NilClass

  5. 5

    NoMethodError undefined method ` ' for nil:NilClass

  6. 6

    Ruby on Rails模型中的<<

  7. 7

    ruby 模块中的 NoMethodError

  8. 8

    Ruby on Rails:Category#new中的NoMethodError

  9. 9

    NoMethodError (undefined method `user_id=' for nil:NilClass): 在文章控制器中

  10. 10

    Ruby on Rails的will_paginate-NoMethodError

  11. 11

    Ruby on Rails中模型的继承

  12. 12

    Ruby on Rails教程5.11中Articles#edit中的NoMethodError

  13. 13

    NoMethodError-Rails模型中的计算

  14. 14

    Ruby on Rails的Nil测试-NoMethodError Nil:class

  15. 15

    Twilio Ruby SMS: undefined method `empty?'

  16. 16

    在Ruby on Rails中查看ActiveRecord模型字段

  17. 17

    Ruby:NoMethodError

  18. 18

    基于ruby on rails中关联模型属性的模型排序记录

  19. 19

    在Ruby中定义模块内部的方法(NoMethodError)

  20. 20

    为什么我在Ruby中收到NoMethodError?

  21. 21

    为什么我在Ruby中收到NoMethodError?

  22. 22

    Ruby on Rails模型关联

  23. 23

    NoMethodError在Rails 4中使用两个模型

  24. 24

    在Ruby on Rails网站上实现Instagram Gem时出现NoMethodError

  25. 25

    Ruby on Rails NoMethodError“未定义的方法'translates'”

  26. 26

    Ruby on Rails Rspec NoMethodError:未定义的方法“ not_to”

  27. 27

    在Ruby on Rails网站上实现Instagram Gem时出现NoMethodError

  28. 28

    学习 Ruby on Rails:NoMethodError(未定义方法 `[]' for nil:NilClass):

  29. 29

    如何在Ruby on Rails / ActiveRecord中克隆模型?

热门标签

归档