我使用的轨道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
这是一个很棒的答案! –