平台: Rails 3
要求:
表单(businesses#edit
),允许用户提交Business
记录的更新(businesses#update
。)提交时businesses#update
不会将更改保留到数据库,但将发送包含新信息的电子邮件,以供人工审核。
如何实现:
加载Business
模型,更新内存中的属性,将其传递给ActionMailer
,完成后无需保存模型。
问题:
Business
模型的has_many :business_categories :through :business_categories_businesses
为has_many :business_categories_businesses
,每当我操纵Business.business_categories
(例如@business.business_categories = BusinessCategory.where(:id => params[:business][:business_categories])
)时,更改会立即保留到数据库。
我找不到任何方法只在内存中操作该集合,以便可以将其传递给动作邮件程序。在短期内我会通过不执行任务来破解它,只需将BusinessCategories
的新集合传递给ActionMailer就可以自行解决,但现在这只会让我烦恼而且我会顺从集体人群的智慧:
有可能只在内存中操作has_many关系,如果是这样,怎么办?请保存我的理智。
提前谢谢!