0

これはかなり単純な Rails 4 の状況です。モデル イントラネット has_many アクティビティ。いくつかのイントラネットに十分な記録を持つ活動が存在します。Current_intranet.activities.size は 69 レコードを返します。ただし、いずれかのレコードにアクセスしようとすると、「出力エラー:<ArgumentError: wrong number of arguments (1 for 0)"引数を渡していないにもかかわらず」が表示されます。次のすべてがそのエラーで失敗します。

Current_intranet.activities.first
Activity.where(intranet_id: 1).first
Activity.where(:intranet_id => 1).first
Activity.where{intranet_id.eq 1}.first
All of the above with [0] instead of first

他のモデルでも問題ありません。ご提案をいただければ幸いです。前もって感謝します。

定義されたスコープはありません。コードは次のとおりです。

class Activity < ActiveRecord::Base
  acts_as_capitalized

  # activities created during intranet creation.  
  DEFAULT_ACTIVITIES = { 'Document Preparation' => 'general income', 'No Charge' => 'general income'}

  # static activity names that can not be deleted.
  STATIC_ACTIVITY_NAMES = [ 'Document Preparation','No Charge']

  before_destroy :check_if_used
  before_destroy :cannot_delete_static_activities

  belongs_to :created_by_user, :class_name => "User", :foreign_key => "created_by"
  belongs_to :updated_by_user, :class_name => "User", :foreign_key => "updated_by"

  belongs_to :intranet
  belongs_to :chart_of_account  

  has_many :activity_rates, :dependent => :destroy
  has_many :event_type
  has_many :billings do 
    def find_by_name(name)
      (find :all, :conditions => ["activity.name = ?",name])
    end
  end

  has_many :document_templates, :foreign_key => "billing_activity_id"

  validates_presence_of :intranet_id, :name, :chart_of_account_id
  validates_uniqueness_of :name, :scope => :intranet_id
4

0 に答える 0