Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/66.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 从Index.html.erb上的按钮更新字段_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails 从Index.html.erb上的按钮更新字段

Ruby on rails 从Index.html.erb上的按钮更新字段,ruby-on-rails,ruby,Ruby On Rails,Ruby,我有一个名为meeting\u times的表,其中包含以下字段: meeting_date_time user_id 我想通过单击索引页上的按钮来更新会议时间的user\u id列 页面的设置如下所示: October 30, 2012 08:00 [Reserve button] 09:00 [Reserve button] 我试过: <%= button_to "Reserve", meeting_time_path(meeting_by_timestamp(time

我有一个名为
meeting\u times
的表,其中包含以下字段:

meeting_date_time
user_id
我想通过单击索引页上的按钮来更新会议时间的
user\u 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 %>
current\u user\u id),:method=>:put%>
它的rails行为就像它工作一样,但是数据库没有得到更新

  • meeting\u by\u timestamp(timestamp)
    是一种帮助方法,它完成了它所需要的功能 说
  • current_user_id
    是登录者的
    user_id
如何将
按钮设置为
,以便更新数据库?

有没有更好的方法可以使用
按钮_

我会在你的控制器中创建一个名为
reserve
的单独方法,创建一个路由,该路由采用1个参数,会议,然后使用
reserve_会议时间路径(会议)
current_user
可以在controller中访问,这样您就可以确保
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 %>
:put%>

我会在您的控制器中创建一个单独的方法,名为
保留
,创建一个路由,该路由采用1个参数,会议,然后使用
保留会议时间路径(会议)
current_user
可以在controller中访问,这样您就可以确保
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 %>
:put%>

当您单击按钮时,您的控制台日志显示了什么,哪个控制器/方法正在接收此呼叫?添加您的
rails路线
控制器代码
其参数(来自日志)
。最好了解控制器内部正在执行的操作。当您单击按钮时,控制台日志会显示什么,哪个控制器/方法正在接收此呼叫?添加您的
rails路由
控制器代码
其参数(来自日志)
。最好知道控制器内部正在做什么。