繁体   English   中英

在Rails 3中指定要通过Ajax渲染的局部

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM