所以假设你在你的控制器中做这样的事情:
class TransactionsController < ApplicationController
def new
@transaction = current_user.transactions.build
end
end
将其更改为:
class TransactionsController < ApplicationController
def new
@transaction = current_user.transactions.build(date: current_user.next_transaction_date)
end
end
然后在您的用户中,您可以确定要使用的日期
class User < ActiveRecord::Base
def last_transaction_in_current_month
transactions.where("date >= ?", Date.today.beginning_of_month).order("date desc").first
end
def next_transaction_date
return Date.today if last_transaction_in_current_month.nil?
last_transaction_in_current_month
end
end