我有两个模型:Campaign 和 Contact。
一个活动有_许多联系人。
一个联系人 has_many 活动。
目前,每个联系人都有一个contact.date_entered 属性。一个活动使用该日期作为开始倒计时到属于该活动的不同事件。
但是,在某些情况下,特定联系人的活动可能需要延迟 X 天。在本例中,campaigncontact.delaydays = 10。
在某些情况下,必须完全停止特定联系人的活动,所以现在我设置campaigncontact.delaydays = 1。(这有什么大问题吗?)
默认情况下,我假设不存在活动联系人(但不确定它是如何工作的?)
所以这就是我试图做的事情:
class Contact < ActiveRecord::Base
has_many :campaigncontacts
has_many :campaigns, :through => :campaigncontacts
end
class Campaign < ActiveRecord::Base
has_many :campaigncontacts
has_many :contacts, :through => :campaigncontacts
end
script/generate model campaigncontact campaign_id:integer contact_id:integer delaydays:integer
class Campaigncontact < ActiveRecord::Base
belongs_to :campaign
belongs_to :contact
end
那么,问题来了:上面的说法正确吗?如果是这样,我如何允许用户编辑特定联系人的活动延迟。
现在,我想从联系人视图中执行此操作。
这是我尝试过的:
在联系人控制器 (?)
in_place_edit_for :campaigncontact, column.delaydays
在视图中
<%= in_place_editor_field :campaigncontact, :delaydays %>
我怎样才能正确?