在Rails中,如何从JavaScript查询我的数据库以便我可以填写文本框?

时间:2017-03-02 23:09:49

标签: javascript jquery ruby-on-rails ruby

我有一个使用Ruby on Rails中的select方法返回以下代码的视图:

    <select class="form-control" name="xyz" id="food_id">
    <option value="1">Peach</option>
    <option value="2">Apple</option>
    <option value="3">Orange</option>
    </select>

要将此信息传递给JavaScript文件,我基本上在视图中使用link_to方法,例如:

<%= link_to "Import text", "#/", :onclick => "fillTextBox()" %>

在JS文件中,我怎样才能基本上获得下拉列表中选择的任何值的名称和描述?就我困惑之前的情况而言:

function fillTextBox(){
    var dropdown = document.getElementById('food_id');
    var foodID = dropdown[dropdown.selectedIndex].value;
}

我需要做类似的事情:

var foodName = Food.find(foodID).name;
var foodDescription = Food.find(foodID).description;

这可能吗? JS函数的其余部分基本上会使用foodName和foodDescription填充文本框,但我首先需要能够首先在数据库中查询此信息。

1 个答案:

答案 0 :(得分:1)

你有没有试过Gon gem

在您的控制器中:

def some_method
  gon.foods = Food.all
end

然后在你的js

gon.foods

在您的情况下,您可以在控制器中附加完整的Food集合,然后使用像这样的一些方式在javascript中找到Food {/ 1}}

id