Rails反馈表单:如何获取当前页面的URL?

And*_*raD 4 forms feedback ruby-on-rails user-feedback ruby-on-rails-3

我正在使用David Francisco的rails反馈插件.该插件工作正常,除了一件事 - 我需要反馈表单向数据库提交使用反馈表单的页面的URL.有谁知道如何做到这一点?

除了当前发送的信息之外,需要发送当前URL的视图:

<h4>Feedback</h4>
<p>Please leave us feedback, it's really appreciated.</p>

<%= form_for @feedback, :as => :feedback, :url => feedback_index_path, :html => { :id => "feedback_form" } do |f| -%>
  <%= f.hidden_field 'user_id', :value => current_user.id %>
  <% unless @error_message.blank? %>
  <p class="error">
    <%=h @error_message %>
  </p>
  <% end %>
  <p>
    <%= f.label 'subject' %>
    <%= f.select 'subject', ['Problem', 'Suggestion', 'Question', 'Other'] %>
  </p>
  <p>
    <%= f.label 'comment' %><br />
    <%= f.text_area 'comment', :rows => 10, :cols => 30 %>
  </p>
  <p><%= f.submit 'Send' %></p>
<% end -%>
Run Code Online (Sandbox Code Playgroud)

目前,feedback_index_path始终是'/ feedback',即表单的url.

谢谢你,亚历山德拉

nzi*_*nab 6

您可以request.referer在控制器中使用以获取调用操作的页面路径.request.referer返回一个完整的URL,但你可以用URI模块解析它:

URI(request.referer).path
Run Code Online (Sandbox Code Playgroud)

我看到有人建议,request.fullpath但这实际上是处理请求的操作的路径(在您的情况下/feedbacks/new),而不是提交表单的路径.