Rails + AJAX:如何将text_field输入中的文本更改为@ shipping_address.name的值?

时间:2014-01-07 16:41:55

标签: javascript jquery ruby-on-rails ajax

我已经完成了所有设置,只需单击一个复选框即可激活一个javascript函数,该函数对映射到控制器#action的路径进行ajax调用。问题在于它没有逃避嵌入式ruby。

这是我的输入标签:

<input id="address_name" type="text" value="sfsfsd" size="30" name="address[name]">

这是我在clone_shipping_address.js文件中触发的JS:

$("#address_name").val("<%= @shipping_address.name =>");

让我说@ shipping_address.name =“Edmund”。 问题是,当我点击复选框时,文本字段中显示的文字将变为<%= @shipping_address.name =>(字面意思),而不是Edmund。有谁知道我做错了什么?

1 个答案:

答案 0 :(得分:1)

问题:您的文件扩展名为“.js”,这意味着此文件应该只使用Javascript。

解决方案:您可以将Ruby代码与ERB / HAML一起使用。根据您使用的文件,使用相应的扩展名重命名文件clone_shipping_address.js,以便在此文件中执行ruby代码:

clone_shipping_address.js
# should become
clone_shipping_address.js.erb
# or if using HAML
clone_shipping_address.js.haml