如何将变量从rails控制器传递给AngularJs

时间:2016-09-05 03:53:15

标签: ruby-on-rails angularjs angularjs-scope

我有配方的导轨控制器。我添加了一些名为 @recID 的附加变量。我能够在index.json.jbuilder中成功访问此变量。

我无法弄清楚如何在我的app.js(角度控制器文件)中访问它。

我的研究涵盖:

以及其他许多谷歌搜索。

以下是来自app.js的代码段:

$scope.search = function(keywords) {
  return $location.path("/").search('keywords', keywords);
};
// query = $resource('/', {query: "query"});
// query =  $resource('/recipes/:recipeId', {

query =  $resource('/', {
  query: "@recID",
  format: 'json'
});
console.log ("About to write to log query=" + query);
// alert ("query =<" + query + ">");
Recipe = $resource('/recipes/:recipeId', {
  recipeId: "@id",
  format: 'json'
});

2 个答案:

答案 0 :(得分:2)

尝试使用gon.gon是一个将数据传递给js.first的gem,你需要在你的控制器中安装gon.then你可以指定

gon.variable_name = variable_value

在你的js中

gon.variable_name

https://github.com/gazay/gon https://gist.github.com/shicholas/5937417

答案 1 :(得分:0)

您可以使用控制器变量值在HTML中设置一些hidden_​​field,并使用DOM选择器在app.js中获取此值。