簡體   English   中英

從rails 2.3中的activerecord查詢對象中提取屬性值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM