我对rails很新,并且最近一直试图实现一些ajax。在我的用户注册页面上有三个按钮,用于创建三种不同的帐户类型。
以下是每个链接:
<%= link_to "sign up", signup_path(:format => 'js'), :remote => true, :rel => 'guest', :id => 'account-signup-link' %>
在我在页面上的javascript中,当单击其中一个时,我将类“current”添加到其锚标记中。请注意,我使用rel标记指定帐户类型,这在三个不同的链接中有所不同。
由ajax命中的 new.js.erb 文件看起来像这样......
var template = $('a.current').attr('rel');
$("<%= escape_javascript render(:file => 'users/_guest.html.erb') %>").insertAfter('#signup-form');
如何将:file => 'users/_guest.html.erb'
替换为某种类型的js变量,该变量将为所单击的标记的rel切换guest。我没有问题抓住相应的rel,我已经在 new.js.erb 中通过一个简单的警报进行了测试。但是对于我的生活,我不能得到:file =>...
的简单字符串,具体取决于点击按钮的rel。
非常感谢任何帮助。
谢谢, 克里斯
答案 0 :(得分:1)
除非你有红宝石做这项工作,否则无法尝试访问javascript变量。此外,请确保您列出了由于用户可以传递任意数据而传递的参数。
将rel的数据作为param的一部分,如signup_path.js?rel=guest
,并通过params [:rel]访问。这应该是一个POST请求,因为它是一个创建URL。