我正在尝试渲染使用Ajax的部分文件,其中我使用locals
将相关Javascript对象发送到了部分文件。不幸的是,我在发送对象时遇到了问题,并且不断收到错误“未定义的局部变量”。Rails j渲染部分本地文件
控制器:
class TransportationController < ApplicationController
respond_to :html, :js, :json
create.js.erb
function getRates(){
$.ajax({
...
(code cut out that's irrelevant to question, but this request succeeds)
...
success: function(json) {
json.prices.forEach(function(price){
$("#my_list").append("<%= j render :partial => 'my_item', :locals => {price: price} %>");
});
....
};
_my_item.html.erb:
....
<h1><%= price.display_name %></h1>
....
错误:(NameError - 未定义的本地变量或方法`价格')
任何帮助排序这将不胜感激!我认为我做得正确
里面的Ajax功能,我正在给一个外部API,它返回了我遍历呈现部分数据的调用。有没有比将它放入Ajax块更好的方法? – tim5046
建议在控制器动作中进行该API调用,并在Ajax调用中调用该动作。定义控制器动作中的所有变量并呈现视图。 – rakeshp