Я создаю блог-сайт, на котором пользователи могут отправлять заметки, и я хочу ограничить их только возможностью редактировать сообщения в течение первых 3 дней после публикации, и у меня возникают проблемы с ним.Как ограничить, как долго пользователь может редактировать запись в Rails?
У меня есть следующий код в моем контроллере Примечания
class NotesController < ApplicationController
before_filter :check_time!, only: [:edit, :update]
def edit
end
def create
end
private
def check_time!
if @note.created_at > @note.created_at + 3.hours
flash[:danger] = 'Out of 3 days'
redirect_to note_path(@note)
end
end
end
У меня есть пост, который 1 день назад, а также для целей тестирования я использую часы вместо дней в check_time! в моем коде, чтобы узнать, работает ли он, однако это не так. По какой-то причине он работает, если я изменяюсь от> до <.
Я уверен, что я приложил created_at метку времени к моим записям, используя следующую миграцию:
class AddTimestampsToNote < ActiveRecord::Migration[5.0]
def change_table
add_column(:notes, :created_at, :datetime)
add_column(:notes, :updated_at, :datetime)
end
end
Я действительно не знаю, почему это не работает, так что любая помощь будет оценен
Привет, спасибо! Это исправлено, я считаю, – Andrew