在rails中使用jquery重定向
我相信这很简单,我只是还没有领会 我有一个大div,我想让用户点击它,它会将他点击的模型发送给它(就像这样,但点击问题div上的任何地方都会重定向到问题) 然后在js中做什么在rails中使用jquery重定向,jquery,ruby-on-rails,ruby-on-rails-3,unobtrusive-javascript,Jquery,Ruby On Rails,Ruby On Rails 3,Unobtrusive Javascript,我相信这很简单,我只是还没有领会 我有一个大div,我想让用户点击它,它会将他点击的模型发送给它(就像这样,但点击问题div上的任何地方都会重定向到问题) 然后在js中做什么 window.location = this.getAttribute("data-questionurl"); 我希望此解决方案是良好的编码实践。erb文件在呈现到页面时只处理一次 所有的路径帮助程序都是可用的,所以只有一次,您不能从客户端调用rails帮助程序(或任何其他rails代码),除非您进行了单独的ajax调
window.location = this.getAttribute("data-questionurl");
我希望此解决方案是良好的编码实践。erb文件在呈现到页面时只处理一次 所有的路径帮助程序都是可用的,所以只有一次,您不能从客户端调用rails帮助程序(或任何其他rails代码),除非您进行了单独的ajax调用 因此,在这种情况下,您的选择是:
- 将路径存储在
div本身的一些#question
中,并在js函数中获取它attr
- 将路径存储在js数组/散列中,对其进行维护并适当使用
- 修改您的路径,使问题路径成为
而不是collection
上的member
而不是/question?id=5
,在这种情况下,您可以在js函数中添加查询参数question/5/
,而id
questions\u路径将返回您
/question
$(function() {
$([id^="question-"]).bind("click", function() {
window.location = <%= question_path(question) %>
});
});
<div id="question-<%= question.id%>" data-questionurl= '<%= question_path(question) %>'>
window.location = this.getAttribute("data-questionurl");