2011-04-09 22 views
0

我們正在開發一種以這種方式工作的公告機制: - 用戶在公告下嵌套屬性。用戶的電子郵件作爲嵌套屬性輸入到新的公告表單中。 - 希望以這種方式工作 - 保存通告時,需要搜索用戶的電子郵件(當前用戶的電子郵件)(如果找到),然後將該通知存入該用戶的個人資料中,並通過電子郵件通知用戶。如果不是,則會創建一個新的用戶帳戶,併發送一封電子郵件給用戶索要他的帳戶。 創建新通知時,導軌會保存所有與w/nested屬性相關的屬性(除非用戶的電子郵件已存在,否則這很棒)。 由於只有用戶的電子郵件用於創建用戶的帳戶,我們以後如何實現密碼(或自動創建密碼以允許用戶稍後更改)?我們正在使用設計進行身份驗證。有沒有辦法使用設計來執行此功能? 這個問題如何解決?非常感謝您的幫助。Rails 3 - 虛擬用戶創建和驗證

class Announcement < ActiveRecord::Base 

    attr_accessible :content, :users_attributes 

    has_many :users, :through => :awards 
    has_many :awards, :dependent => :destroy 

    accepts_nested_attributes_for :users, :reject_if => lambda { |a| a[:email].blank? }, :allow_destroy => true 

end 
class User < ActiveRecord::Base 
    attr_accessible :email, :first_name, :last_name, :middle_name 

    has_many :awards, :dependent => :destroy 
    has_many :announcements, :through => :awards, :dependent => :destroy 

    email_regex = /\A[\w+\-.][email protected][a-z\d\-.]+\.[a-z]+\z/i 

    validates :email, :presence => true, :format => { :with => email_regex }, :uniqueness => { :case_sensitive => false } 

end 

電子郵件

回答

0

您可以實現您的用戶模型的附加布爾屬性,表明該帳戶一直聲稱,再不行用色器件的確認的模塊(因爲用戶已經有效確認他們的電子郵件通過追蹤鏈接)。當用戶到達誰的賬戶沒有被要求時,請填寫當時的認證細節。假設你在電子郵件鏈接中有一個屬性,可以讓你檢索合適的記錄來填充。

+0

Marc,謝謝你的幫助。在默認情況下設計需要:密碼 - 即使我嘗試了他們的W/O密碼維基 - 不能使其工作。我是一個nuby,你能詳細解釋一下嗎?謝謝! – coder 2011-04-09 23:41:08