在我的Ruby on Rails應用程序中,我試圖在驗證中添加以確保用戶在文本框中輸入了值。在我的系統中,我有一個名爲Account
的表,它存儲用戶的電子郵件帳戶信息,當他們進入views/accounts/_form.html.erb
頁面添加新的電子郵件帳戶時,我想驗證是否存在端口號。我可以通過下面的代碼做到這一點:Ruby on Rails:如何在特定頁面上驗證?
validates :port, presence: true
這成功地確保用戶輸入自己的端口號,但是,當用戶註冊後通過views/users/_new.html.erb
網頁,他們只須輸入一個電子郵件地址(例如,例如@例子。 com),然後users_controller
將在Account
表中爲此電子郵件地址創建記錄。我的問題是,在views/accounts/_form.html.erb
頁面的端口號是必需的,但在views/users/_new.html.erb
不是。
有沒有驗證用戶輸入端口號的方法,如果他們在views/accounts/_form.html.erb
頁面或調用accounts_controller
中的create
方法?
我知道我可以通過HTML進行驗證,如下所示:<%= f.text_field :port, :required => true %>
但我需要添加進一步驗證以及存在,所以這不適用。