Rails feedback form: How to get the url for the current page?
我正在使用DavidFrancisco的Rails反馈插件。这个插件工作得很好,除了一件事——我需要反馈表单向数据库提交反馈表单所在页面的URL。有人知道怎么做吗?
除了当前发送的信息之外,还需要发送当前URL的视图:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | <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 -%> |
目前,反馈索引路径始终是表单的URL。
谢谢您,亚历山德拉
您可以在控制器中使用
1 | URI(request.referer).path |
我看到有些人建议使用
如果request.fullpath不能正常工作,您可以进行快速黑客攻击,将页面URL存储在页面的数据属性中,并在提交时通过jquery从该属性中获取当前URL。但这是一个黑客,只是为了让它工作。
顺便问一下,你如何呈现反馈表?
在这里查看有关访问Rails2和3中当前URL的信息。