Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在具有复数名称的表上有许多关系。NameError(未初始化常量)_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails 在具有复数名称的表上有许多关系。NameError(未初始化常量)

Ruby on rails 在具有复数名称的表上有许多关系。NameError(未初始化常量),ruby-on-rails,ruby,Ruby On Rails,Ruby,我已经创建了一个名为activities\u dates的表,我通过has\u many关系将activities的事件存储在该表中。 因为我可以检索这些值,所以我在运行namererror(未初始化的常量ActivityDate::Activities)时保存了这些值,这在某种程度上起到了作用: 迁移: create_table :activities_dates do |t| t.references :activities, foreign_key: true, index:

我已经创建了一个名为
activities\u dates
的表,我通过
has\u many
关系将
activities
的事件存储在该表中。 因为我可以检索这些值,所以我在运行
namererror(未初始化的常量ActivityDate::Activities)时保存了这些值,这在某种程度上起到了作用:

迁移:

create_table :activities_dates do |t|
      t.references :activities, foreign_key: true, index: true
      t.date :event_date
      t.timestamps
      t.datetime :deleted_at, index: true
end
型号:

activity.rb
class Activity < ApplicationRecord
   has_many :activities_dates, :foreign_key => "activities_id", :class_name => "ActivityDate"   



activity_date.rb
class ActivityDate < ApplicationRecord
  belongs_to :activities
  acts_as_paranoid
  self.table_name = "activities_dates"
end
活动控制器@更新功能

def update
 if can? :update @activity
   respond_do |format|
    if @activity.update(activity_params.except(:recurring_event_date))
        activity_params[:recurring_event_date].each do |event|
          @activity.activities_dates.create(:event_date => event) #ERROR HERE
        end

我相信我只是有一些命名约定错误,因为我想通过
@activity model

保存它们,应该是
ActivityDates
除非这是一个HABTM,否则不能将两者都复数化。这将是
Activity有很多:Activity\u日期
ActivityDate属于:Activity
,因为它只能属于1个(单数)@engineerinersmnky我试过了,现在我没有得到错误,尽管它保存在那个表中。有什么建议吗?@engineersmnky
event=@activity.activity\u dates.new(:event\u date=>event)
event.save
@engineersmnky控制台中的错误是
@messages={:activity=>[“必须存在”]},@details={:activity=>[{:error=>:blank}
使用
build
创建关系,例如
偶数=@activity.activity\u dates.build(event\u date:event)
。同时确保
@activity
在此时保持不变,例如,不是“新”活动。它应该是
ActivityDates
除非这是一个HABTM,否则不要将两者都复数化。这将是
Activity有很多:Activity\u日期
ActivityDate属于:Activity
,因为它只能属于1个(单数)@engineerinersmnky我试过了,现在我没有得到错误,尽管它保存在那个表中。有什么建议吗?@engineersmnky
event=@activity.activity\u dates.new(:event\u date=>event)
event.save
@engineersmnky控制台中的错误是
@messages={:activity=>[“必须存在”]},@details={:activity=>[{:error=>:blank}
使用
build
创建关系,例如
偶数=@activity.activity\u dates.build(event\u date:event)
。同时确保
@activity
在此时保持不变,例如,不是“新”活动。
def update
 if can? :update @activity
   respond_do |format|
    if @activity.update(activity_params.except(:recurring_event_date))
        activity_params[:recurring_event_date].each do |event|
          @activity.activities_dates.create(:event_date => event) #ERROR HERE
        end