我是Rails的新手,正在尝试建立房东管理系统。
我希望在维护请求显示页面上,有一个按钮将维护请求标记为已完成,然后将其更新回数据库
这是我的表演页面
.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
任何进一步的信息,将不胜感激。
问:实现按钮来更改数据库中属性值的最佳方法是什么?
答案 0 :(得分:0)
添加了表单以更新属性:completed_at
= form_for @request do |t|
= t.hidden_field :completed_at, :value=> Time.now
= t.submit "Add Complete At", class: "button"