Как пользователи Devise могут создать приглашение для других, чтобы принять и запустить его, а также чтобы оно могло закончить - PullRequest
0 голосов
/ 04 октября 2019

Я создаю приложение в рельсах, которое имеет пользователя и Dogwalkers , эти пользователи создаются в Devise. Итак, я не хочу, чтобы пользователь мог создать прогулку с собаками и установить дату, время и добавить собак, которых собираются погулять.

Я получил базу данных своих собак на Sqlite:

create_table :dogs do |t|
      t.string :name
      t.string :photo
      t.string :race
      t.references :user, foreign_key: true

      t.timestamps
    end
    add_index :dogs, [:user_id, :created_at]

И я получил свою модель Уолкса:

class CreateWalks < ActiveRecord::Migration[5.2]
  def change
    create_table :walks do |t|
      t.integer :walk_id
      t.date :walk_at
      t.datetime :walk_start_at
      t.datetime :walk_end_at
      t.integer :status
      t.references :dog, foreign_key: true
      t.references :user, foreign_key: true
      t.references :dogwalker, foreign_key: true
      t.float :dogprice
      t.integer :doglimit

      t.timestamps
    end
    add_index :walks, [:user_id, :created_at]
  end
end

Итак, как я могу сделать так, чтобы пользователь мог создать Прогулку, и позволить собачнику видеть его наэто собственная панель инструментов (которую я уже создал). Dog Walker примет его и отправит пользователю уведомление о том, что он его принял. Как только пользователь получил там собаку, прогулка закончилась и создала историю прогулки.

Что я делал:

  1. Создал базы данных, которые я показываю выше.
  2. Сделано просмотров
  3. Сделано форм для пользователя, способного создать новую поездку собаки
  4. Созданы контроллеры для прогулки

Надеюсь, что это возможно! Спасибо за помощь !!!

1 Ответ

2 голосов
/ 04 октября 2019

Я думаю, что вы хотите сделать, это создать форму для новой прогулки. Пользователь (владелец собаки) найдет обязательные поля, такие как date, walk_start_at и walk_end_at. Может быть, еще немного, но это зависит от вас.

На панели пользователя (собачник) вы можете перечислить все прогулки, доступные по: @walks = Walk.where(dogwalker: nil) Это даст вам все прогулки, у которых нет ходокавсе же. Для каждой из этих прогулок вы также добавляете форму для прогулки, для которой требуется только кнопка отправки. Когда собачник нажимает кнопку, он переходит к действию обновления из Walk. Там вы получаете параметры и можете установить собачника.

Теперь на собаководе видно, что прогулка принята.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...