обновить БД с помощью кнопки action ruby ​​на рельсах - PullRequest
0 голосов
/ 07 февраля 2019

Я новичок, пытающийся создать систему управления арендодателем.

Я хотел бы, чтобы на моей странице показа запроса на обслуживание была кнопка, которая помечает запрос на обслуживание как завершенный, а затем обновляет его добаза данных

вот моя страница показа

.wrapper_with_padding
  #house.show
    %h1= @request.title
    %p= simple_format(@request.description)
    -if @request.house.present?
      Location: #{@request.house.house_title}
    -else
      %p= 'No Property Information Given'

  %br
  .buttons
    = link_to "Edit", edit_request_path(@request), class: "button"
    = link_to "Delete", request_path(@request), method: :delete, data: { confirm: "Are you sure?" }, class: "button"

Вот мой контроллер запросов также

class RequestsController < ApplicationController
  before_action :find_request, only: [:show, :edit, :update, :destroy]

  def index
    #@requests = Request.where(user_id: current_user)
    @requests = Request.all
  end

  def show
  end

  def new
    @request = current_user.requests.build
  end

  def create
    @request = current_user.requests.build(request_params)

    if @request.save
      redirect_to @request
    else
      render 'new'
    end
  end

  def edit
  end

  def update
    if @request.update(request_params)
      redirect_to @request
    else
      render 'edit'
    end
  end

  def destroy
    @request.destroy
    redirect_to requests_path
  end

  private

  def find_request
    @request = Request.find(params[:id])
  end

  def request_params
    params.require(:request).permit(:title, :description, :house_id)
  end
end

Любая дополнительная информация будет оценена.

Вопрос: каков наилучший метод для реализации кнопки, которая изменяет значение атрибута в БД?

1 Ответ

0 голосов
/ 11 февраля 2019

Добавлена ​​форма для обновления атрибута: complete_at

  = form_for @request do |t|
    = t.hidden_field :completed_at, :value=> Time.now
    = t.submit "Add Complete At", class: "button"
...