是否有可能只在内存中操作has_many?

时间:2011-03-06 18:08:23

标签: ruby-on-rails activerecord has-many has-many-through

平台: Rails 3

要求:

表单(businesses#edit),允许用户提交Business记录的更新(businesses#update。)提交时businesses#update不会将更改保留到数据库,但将发送包含新信息的电子邮件,以供人工审核。

如何实现:

加载Business模型,更新内存中的属性,将其传递给ActionMailer,完成后无需保存模型。

问题:

Business模型的has_many :business_categories :through :business_categories_businesseshas_many :business_categories_businesses,每当我操纵Business.business_categories(例如@business.business_categories = BusinessCategory.where(:id => params[:business][:business_categories]))时,更改会立即保留到数据库。

我找不到任何方法只在内存中操作该集合,以便可以将其传递给动作邮件程序。在短期内我会通过不执行任务来破解它,只需将BusinessCategories的新集合传递给ActionMailer就可以自行解决,但现在这只会让我烦恼而且我会顺从集体人群的智慧:

有可能只在内存中操作has_many关系,如果是这样,怎么办?请保存我的理智。

提前谢谢!

0 个答案:

没有答案