如何找出在呈现当前页面时使用的HTTP方法?
例如:
# button that only links if the record is 'new'
<%= link_to_unless(params[:controller] == "customers" && params[:action] == "new"), ... %>
当表单显示customers/new
时,上面的工作很好,但如果用户传递一个失败的新表单,而不是由create
动作呈现的new
,则不太好。在这种情况下,params[:action]
是空白的,唯一的方法来告诉上面应该仍然链接是HTTP方法是POST
。
我如何确保上面的link_to_unless
在创建操作失败并呈现新操作时也会触发?
您可以在控制器中使用request.request_method
@object_that_was_meant_to_be_created.new_record?