У меня есть пост-контроллер на небольшом тестовом веб-сайте, который я создаю.Я хочу, чтобы на сайте была функция «сохранить черновик» / combo-auto-save, так как на сайте будут длинные сообщения, которые пользователи могут захотеть оставить и вернуться к завершению.Однако я никогда раньше не встраивал функцию автосохранения / сохранения в приложение Rails (или любое приложение).Что такое хороший, RESTful способ сделать это?
Вот мое текущее действие контроллера:
posts_controller.rb
def create
@post = params[:post]
if @post.save
flash.now[:success] = "Post created!"
else
render_errors_now(@post)
end
respond_to do |format|
format.html {redirect_to Discussion.find(session[:discussion_id])}
format.js
end
end
Как видите, пользователи публикуют сообщения удаленно.
Вот текущая модель post.rb:
attr_accessible :content, :title
validates :title, :presence => true
validate :title_character_length
validates :content, :length => { :maximum => 10000 }
validates :user_id, :presence => true
validates :discussion_id, :presence => true
belongs_to :user
belongs_to :discussion
default_scope :order => 'posts.created_at ASC'
def title_character_length
#some code that checks length
end
Мне нужно выполнить следующие вещи из этого кода ..
- Автосохранениепериодически (возможно, с интервалом в 1 минуту)
- Дайте возможность сохранить черновик
- Выберите, какие проверки нужно запускать: я хотел бы разрешить пользователям, например, сохранять черновик с заголовком, который превышаетразрешенная длина, но не позволяет им публиковать сообщения с таким названием.
Мне также любопытно, что такое хорошая практика Rails для сохранения черновиков: я должен добавить атрибут «черновик» кпост модель?Или создать черновик сообщения модели?
ОК, пожалуйста, прокомментируйте, если мне нужно предоставить больше информации.Мне интересно услышать мнение людей!Спасибо всем!