[英]Specifying a partial to render via Ajax in Rails 3
我是Rails的新手,最近一直在尝试实现一些Ajax。 在我的用户注册页面上,有三个按钮可以创建三种不同的帐户类型。
这是每个链接:
<%= link_to "sign up", signup_path(:format => 'js'), :remote => true, :rel => 'guest', :id => 'account-signup-link' %>
在页面上的javascript中,当单击其中之一时,将“ current”类添加到其anchor标签。 请注意,我使用rel标签指定帐户类型,这在三个不同的链接之间有所不同。
我的ajax命中的new.js.erb文件看起来像这样...
var template = $('a.current').attr('rel');
$("<%= escape_javascript render(:file => 'users/_guest.html.erb') %>").insertAfter('#signup-form');
我该如何用某种类型的js变量替换:file => 'users/_guest.html.erb'
,从而将来宾:file => 'users/_guest.html.erb'
为所点击标签的rel。 我没有问题,没有问题,我已经在new.js.erb中用一个简单的警报测试了它 。 但是对于我来说,根据单击按钮的相关性,我无法获得简单的字符串:file =>...
任何帮助将不胜感激。
谢谢克里斯
除非您拥有ruby,否则无法尝试访问javascript变量。 另外,由于用户可以传递任意数据,因此还要确保将要传递的参数列入白名单。
将rel的数据作为参数的一部分,例如signup_path.js?rel=guest
并通过params [:rel]访问。 由于它是创建网址,因此应该是POST请求。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.