Rails request.referer

时间:2014-04-28 01:31:18

标签: ruby-on-rails-4

我试图友好地将用户转发回发送编辑请求的请求页面。但是request.referer只是给了我同一个页面(编辑页面),因此重定向不起作用。

def edit
   session[:return_to_contact] = request.referer
   @user = current_user
end

def update
  if @contact.update_attributes(contact_params)
    flash[:success] = "Contact Updated!"
    redirect_to session.delete(:return_to_contact)
  else
    render 'edit'
  end
end

我认为问题在于编辑被调用两次。一旦从上一页再到当前的编辑页面,但我无法弄清楚为什么......

1 个答案:

答案 0 :(得分:1)

问题是我如何实现link_to方法。

<%= link_to "Edit", edit_user_contact_path(@user, contact),
                                 title: contact.lastname,
                                 class: "btn btn-small btn-secondary" %>

我需要包含&#39;方法:: get&#39;在link_to里面这样:

<%= link_to "Edit", edit_user_contact_path(@user, contact), 
                                 method: :get,
                                 title: contact.lastname,
                                 class: "btn btn-small btn-secondary" %>

不确定为什么第一个link_to构造仍然可以工作,但导致&#39;编辑&#39;被叫两次。