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我试过了,现在我没有得到错误,尽管它保存在那个表中。有什么建议吗?@engineersmnkyevent=@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我试过了,现在我没有得到错误,尽管它保存在那个表中。有什么建议吗?@engineersmnkyevent=@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