[英]extract attributes values from an activerecord query object in rails 2.3
在我的控制器中,我有一個@attach對象,當我檢查它時,它的值為
[#<MessageAddlAttachment id: 80, reminder_id: 112, msg_attachment_file_name: "24.png", msg_attachment_content_type: "image/png", msg_attachment_file_size: 272368, created_at: "2013-10-10 12:04:37", updated_at: "2013-10-10 12:04:37">, #<MessageAddlAttachment id: 81, reminder_id: 112, msg_attachment_file_name: "37.png", msg_attachment_content_type: "image/png", msg_attachment_file_size: 333986, created_at: "2013-10-10 12:04:37", updated_at: "2013-10-10 12:04:37">]
所以現在經過一些操作后,我需要在這個帶有不同id的MessageAddlAttachment表中創建一個條目。 我怎樣才能實現它。 我嘗試過dup,但它會有相同的ID。 請幫忙
dup
是你在rails 4中的朋友。它將創建一個副本,但刪除了id值:
u = User.first
=> #<User id: 1, ...>
u.dup
=> #<User id: nil, ...>
u.dup.save
(0.2ms) begin transaction
...
啟動rails 3.2或3.1,你想使用dup
。 在此之前,您應該使用clone
代替。 這將為id字段提供新值; 您可能還想注意您的created_at和updated_at字段會發生什么。
需要注意的另一個問題是,如果您有任何日期字段,其驗證表明它們必須在“今天的日期”之后,則它們可能在保存原始記錄時有效,但在保存新記錄時則無效。 你如何解決這個問題取決於你的情況; 您可能希望在克隆時完全禁用驗證,或調整新記錄中的值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.