Так что я делаю сайт обзор видеоигр на практике - и мысль, что я пытаюсь выполнить:ограничения редактирования маршрута - если условие не будет выполнено
Вы можете только просмотреть видеоигру раз
НО
Когда новая статья новостей об игре будет опубликована, вы можете редактировать и изменять свой отзыв, пока другая статья не опубликована снова.
В настоящее время у меня есть эта логика, которая скрывает и показывает ссылку «Редактировать», но, конечно, маршрут по-прежнему активен.
Как ограничить маршрут редактирования, когда новый товар не добавлен?
Ниже приведена логика, затем следуют маршруты. Если вам нужны другие файлы, пожалуйста, дайте мне знать. Заранее спасибо
Как это работает - если был создан последний объект новостей ПОСЛЕ того, как ваш отзыв был обновлен последним, вы можете увидеть ссылку для редактирования своего отзыва.
<% if @news.last.created_at > preview.updated_at && preview.user_id == current_user.id %>
<p><%= link_to "edit", edit_game_preview_path(@game.id, preview.id) %></p>
<% end %>
routes.rb
Rails.application.routes.draw do
devise_for :users
root "games#index"
resources :games do
resources :news
resources :reviews, except: [:show, :index]
resources :previews, except: [:show, :index]
end
resources :platforms
resources :genres
end
спасибо, что так много. это прекрасно и работает. предварительные просмотры - это только комментарии, которые вы можете сделать до публикации игры. после его публикации вы можете оставить отзывы :), так что в основном я создал 2 фазы - фазу предварительного просмотра и фазу обзора. фазы определяются, если 'Time.now
giantqtipz
Любые мнения об использовании конечного автомата? Вы можете использовать его для управления действиями пользователей и автоматического запуска действий, которые необходимо предпринять (например: Tweet или электронная почта). –