1

我有一个meeting_times用字段命名的表:

meeting_date_time
user_id

我想user_id通过单击索引页面上的按钮来更新会议时间的列。

页面设置如下:

October 30, 2012
   08:00 [Reserve button]
   09:00 [Reserve button]

我努力了:

<%= button_to "Reserve", meeting_time_path(meeting_by_timestamp(timestamp), :user_id => current_user_id), :method => :put %>

它的轨道就像它的工作原理一样,但数据库没有得到更新。

  • meeting_by_timestamp(timestamp)是一个帮助方法,它做它所说的。
  • current_user_iduser_id登录的人的。

如何设置button_to以更新数据库?有没有更好的方法然后使用button_to

4

1 回答 1

1

我会在你的控制器中创建一个名为 的单独方法reserve,创建一个需要 1 个参数的路由,会议然后使用reserve_meeting_time_path(meeting). current_user无论如何都可以在控制器中访问,这样您就可以确保current_user仅为自己保留会议。

在你的 routes.rb

resources :meeting_times do
  member do
     put 'reserve'
  end
end

在您的控制器中:

def reserve
  @meeting_time = MeetingTime.find(params[:id])
  @meeting_time.update_attributes(:user_id => current_user.id)
  # or however you want to handle it here
end

在您看来:

<%= button_to "Reserve", reserve_meeting_time_path(meeting_by_timestamp(timestamp)), :method => :put %>
于 2012-09-21T16:59:57.320 回答