我使用的軌道date_time_select 4.0 我不知道如何驗證date_select與activemodel的如何使用activemodel的來驗證
讓我們假設我的代碼如下
應用程序/模型/ book.rb
class Book
include ActiveModel::Model
include ActiveModel::Validations
attr_accessor :title, :written_on
validates :title, presence: true, allow_blank: false
# How validates :written_on if I use date_select Please look in my view below
end
應用程序/控制器/ books.rb
class BooksController < ApplicationController
#...
def new
@book = Book.new
end
def create
@book = Book.new(book_params)
if @book.valid?
#Do something
end
end
#...
end
應用程序/爭奪WS /書籍/ new.html.erb
<% form_for @book do |f| %>
...
<%= f.date_select :written_on %>
...
<% end %>
我也嘗試添加
attr_accessor 'written_on(1i)'
我的書的模式,但我得到了錯誤無效的屬性名稱 'written_on(1I)'
非常感謝您的幫助。
謝謝你的回覆@ carols10cents。你有沒有關於工作的任何想法。現在我實際上使用一個選擇日期,月份和年份的不同名稱。然後重寫before_validation將它們連接在一起成爲一個新的日期類型對象。你怎麼看? –
這聽起來像它會很乏味,但會工作:) – carols10cents
這是一個很棒的答案! –