Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何在Rails中添加批准预订请求?_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails 如何在Rails中添加批准预订请求?

Ruby on rails 如何在Rails中添加批准预订请求?,ruby-on-rails,ruby,Ruby On Rails,Ruby,我有一个预约资源。要批准预订,我在我的BookingController中添加了批准方法: def approve @booking = Booking.find_by_id(params[:id]) @booking.update(state: "approved") if @booking.state == "approved" flash[:success] = "Booking successfully approved" redirect_to bookings_pat

我有一个预约资源。要批准预订,我在我的BookingController中添加了批准方法:

def approve
@booking = Booking.find_by_id(params[:id])
 @booking.update(state: "approved")
 if @booking.state == "approved"
   flash[:success] = "Booking successfully approved"
   redirect_to bookings_path
 else
   flash[:error] = "Booking not approved"
   redirect_to bookings_path
 end
结束

为了批准预订,我使用了以下链接:

<td><%= link_to 'Approve', bookings_approve(id: booking.id), class: "button-xs success" %></td>

我不确定要批准的链接和相应的路由定义。如何定义路线和到APROVE的链接

每个预订都有一个状态字段,我想在按下“批准”按钮时将其更改为“批准”。
提前谢谢

您可以执行以下操作:

resources :bookings do 
  member do
    post :approve
  end
end
这将为您提供(在
rake routes
上):

然后做:

<td>
  <%= link_to 'Approve', approve_booking_path(booking), class: "button-xs success", method: :post %>
</td>

状态
!=<代码>状态…

请发布您的
路线。rb
这似乎是在向预订添加列(例如布尔
预订.批准
)或新的
批准
表之间的选择。你需要知道是谁批准的,什么时候批准的吗?审批是否可以有其他相关信息?如果是这样,一个新的
审批
资源从长远来看可以节省您的工作。
<td>
  <%= link_to 'Approve', approve_booking_path(booking), class: "button-xs success", method: :post %>
</td>
@booking.update(state: "approved")