与在轨道上的按钮动作红宝石更新数据库

问题描述 投票:-4回答:1

我是个新手铁轨试图建立一个业主管理系统。

我想我的维护请求显示页面上为了有一个按钮,完成标志着维护请求,然后更新这回数据库

这里是我的节目页面

.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

任何进一步的信息,将不胜感激。

问:什么是实现一个按钮,改变在DB的属性值的最佳方法是什么?

ruby-on-rails ruby rails-activerecord
1个回答
0
投票

新增形式更新的属性:completed_at

  = form_for @request do |t|
    = t.hidden_field :completed_at, :value=> Time.now
    = t.submit "Add Complete At", class: "button"
© www.soinside.com 2019 - 2024. All rights reserved.