无法更新 Rails 应用中的现有记录
Can't update existing records in Rails app
当我创建一个新事件时,似乎一切都正确保存在我的 Rails 4 应用程序(使用 simple_form)上,但是当我尝试更新现有事件时(通过转到 events/3/edit
), 它不保存任何更改。
这是我的控制台日志:
Started PATCH "/events/3" for 12.43.117.2 at 2015-06-17 19:28:34 +0000
Started PATCH "/events/3" for 12.43.117.2 at 2015-06-17 19:28:34 +0000
Processing by EventsController#update as HTML
Processing by EventsController#update as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"tdCaXgxDSLNJg2qcsB91W9No3fJpu7Z7XDxktXGGJ5A=", "event"=>{"event_name"=>"Salute Miami’s Bicycling Heroes: Reception for Kirk Munroe & Wilson Larkins", "location"=>"Coco Plum Woman's Club, 1375 Sunset Road, Miami, FL 33143", "event_date_time(1i)"=>"2015", "event_date_time(2i)"=>"6", "event_date_time(3i)"=>"17", "event_date_time(4i)"=>"12", "event_date_time(5i)"=>"03", "description"=>"Honor Kirk Munroe,\r\nblahbicycblah", "organizer"=>"blah", "category"=>"Community Event"}, "commit"=>"Update Event", "id"=>"3"}
Parameters: {"utf8"=>"✓", "authenticity_token"=>"tdCaXgxDSLNJg2qcsB91W9No3fJpu7Z7XDxktXGGJ5A=", "event"=>{"event_name"=>"Salute Miami’s Bicycling Heroes: Reception for Kirk Munroe & Wilson Larkins", "location"=>"Coco Plum Woman's Club, 1375 Sunset Road, Miami, FL 33143", "event_date_time(1i)"=>"2015", "event_date_time(2i)"=>"6", "event_date_time(3i)"=>"17", "event_date_time(4i)"=>"12", "event_date_time(5i)"=>"03", "description"=>"Honor Kirk Munroe,\r\nblahbicycblah", "organizer"=>"blah", "category"=>"Community Event"}, "commit"=>"Update Event", "id"=>"3"}
Rendered events/update.html.erb within layouts/application (0.1ms)
Rendered events/update.html.erb within layouts/application (0.1ms)
Completed 200 OK in 173ms (Views: 171.3ms | ActiveRecord: 0.0ms)
Completed 200 OK in 173ms (Views: 171.3ms | ActiveRecord: 0.0ms)
发生这种情况后,我得到一个空白的更新事件页面,上面没有任何表单字段。然后我 return 到事件索引并返回到单个事件才发现它是原来的样子。无论它在做什么,它似乎都在发送两次信息(首先是原始信息,然后是更新后的信息),但由于某种原因,更新似乎并没有持续。
不管怎样,事件控制器的 def update
部分是空的,我使用的是 postgresql 数据库。
Github 回购:https://github.com/yamilethmedina/wheels_registration
测试服务器:https://wheels-registration-yamilethmedina.c9.io/
这就是我最终所做的,基于此(用 event
替换单词 user
):https://www.railstutorial.org/book/updating_and_deleting_users#sec-unsuccessful_edits
events_controller.rb
:
def update
@event = Event.find(params[:id])
if @event.update_attributes(event_params)
# Handle a successful update.
else
render 'update'
end
end
也许删除 else render 'update'
可能会避免在我删除后出现的空白 "update an event" 页面,但这更像是一个后端功能(用户不会有link 来编辑这些事件)并且它接受更改,所以我很满意。
当我创建一个新事件时,似乎一切都正确保存在我的 Rails 4 应用程序(使用 simple_form)上,但是当我尝试更新现有事件时(通过转到 events/3/edit
), 它不保存任何更改。
这是我的控制台日志:
Started PATCH "/events/3" for 12.43.117.2 at 2015-06-17 19:28:34 +0000
Started PATCH "/events/3" for 12.43.117.2 at 2015-06-17 19:28:34 +0000
Processing by EventsController#update as HTML
Processing by EventsController#update as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"tdCaXgxDSLNJg2qcsB91W9No3fJpu7Z7XDxktXGGJ5A=", "event"=>{"event_name"=>"Salute Miami’s Bicycling Heroes: Reception for Kirk Munroe & Wilson Larkins", "location"=>"Coco Plum Woman's Club, 1375 Sunset Road, Miami, FL 33143", "event_date_time(1i)"=>"2015", "event_date_time(2i)"=>"6", "event_date_time(3i)"=>"17", "event_date_time(4i)"=>"12", "event_date_time(5i)"=>"03", "description"=>"Honor Kirk Munroe,\r\nblahbicycblah", "organizer"=>"blah", "category"=>"Community Event"}, "commit"=>"Update Event", "id"=>"3"}
Parameters: {"utf8"=>"✓", "authenticity_token"=>"tdCaXgxDSLNJg2qcsB91W9No3fJpu7Z7XDxktXGGJ5A=", "event"=>{"event_name"=>"Salute Miami’s Bicycling Heroes: Reception for Kirk Munroe & Wilson Larkins", "location"=>"Coco Plum Woman's Club, 1375 Sunset Road, Miami, FL 33143", "event_date_time(1i)"=>"2015", "event_date_time(2i)"=>"6", "event_date_time(3i)"=>"17", "event_date_time(4i)"=>"12", "event_date_time(5i)"=>"03", "description"=>"Honor Kirk Munroe,\r\nblahbicycblah", "organizer"=>"blah", "category"=>"Community Event"}, "commit"=>"Update Event", "id"=>"3"}
Rendered events/update.html.erb within layouts/application (0.1ms)
Rendered events/update.html.erb within layouts/application (0.1ms)
Completed 200 OK in 173ms (Views: 171.3ms | ActiveRecord: 0.0ms)
Completed 200 OK in 173ms (Views: 171.3ms | ActiveRecord: 0.0ms)
发生这种情况后,我得到一个空白的更新事件页面,上面没有任何表单字段。然后我 return 到事件索引并返回到单个事件才发现它是原来的样子。无论它在做什么,它似乎都在发送两次信息(首先是原始信息,然后是更新后的信息),但由于某种原因,更新似乎并没有持续。
不管怎样,事件控制器的 def update
部分是空的,我使用的是 postgresql 数据库。
Github 回购:https://github.com/yamilethmedina/wheels_registration 测试服务器:https://wheels-registration-yamilethmedina.c9.io/
这就是我最终所做的,基于此(用 event
替换单词 user
):https://www.railstutorial.org/book/updating_and_deleting_users#sec-unsuccessful_edits
events_controller.rb
:
def update
@event = Event.find(params[:id])
if @event.update_attributes(event_params)
# Handle a successful update.
else
render 'update'
end
end
也许删除 else render 'update'
可能会避免在我删除后出现的空白 "update an event" 页面,但这更像是一个后端功能(用户不会有link 来编辑这些事件)并且它接受更改,所以我很满意。