我正在尝试将url字符串传递给我的一个控制器方法的视图,如下所示:
def index
@locals = {table_cols: $config['global_fields'],
table_title: $config['main_page']['table_title'],
ajax: url_for(action: index_data)}} # HERE
end
index_data是我的控制器中的一个函数,它以JSON格式返回一些数据。但是,当我导航到我的应用程序的索引页面时,浏览器只显示index_data的JSON输出。
我假设在index中调用url_for是将该页面重定向到index_data - 有没有办法防止这种情况,只是让url_for返回字符串,例如'/控制器/ index_data'?
由于
答案 0 :(得分:1)
这可能是因为当你试图获取一个url时调用index_data
动作,并且调用它会诱使Rails认为你想要从该动作渲染。
如果您将url_for
更改为指向符号(或字符串)而不是操作的返回值,那么事情可能会按预期开始工作:
@locals = { ..., ajax: url_for(action: :index_data)}}