在Rails 3视图中呈现html和json以使用JQuery进行解析

在Rails 3视图中呈现html和json以使用JQuery进行解析,jquery,ruby-on-rails,ruby-on-rails-3.1,Jquery,Ruby On Rails,Ruby On Rails 3.1,前言:我是Rails新手。对JQuery和json来说也是一种新的功能。 我当前正在从我的控制器呈现html,如下所示: def new @customer = Customer.find(params[:id]) end 我正在使用@customer实例设置表单字段。我在该表格上还有两位精选助手: <%= select(:customer, :billing_type_id, BillingType.all.map{ |lk| [lk.name, lk.id] })%> &l

前言:我是Rails新手。对JQuery和json来说也是一种新的功能。 我当前正在从我的控制器呈现html,如下所示:

def new
  @customer = Customer.find(params[:id])
end
我正在使用@customer实例设置表单字段。我在该表格上还有两位精选助手:

<%= select(:customer, :billing_type_id, BillingType.all.map{ |lk| [lk.name, lk.id] })%>
<%= select(:customer, :account_id, Account.all.map{ |lk| [lk.number, lk.id] }) %>
鉴于:

<span id="billingtypes"><%= BillingType.all.to_json %></span>


我可能完全错了,但如果能理解如何处理我的两个问题,我将非常感激。

一种方法确实是在您的页面中实现计费类型

类似于

var billingTypes = <%= BillingType.all.to_json %>;

选项标签很棒,我没意识到你可以这么做——它完全解决了我的问题!此外,只需直接在脚本标记中呈现BillingType json即可。我想测试一下选项标签的想法,然后我会把它标记为一个答案。弗雷德里克-我测试了选项标签,它成功了,谢谢你的回答!对于阅读本文的任何人,都需要对javascript进行一些小的修改:$(“#返回"检查"计费"类型"id').change(function(){var accountId=$(':selected',this).attr('account-id');alert(accountId);//使用accountId做一些很酷的事情});
var billingTypes = <%= BillingType.all.to_json %>;
<%= select(:customer, :billing_type_id, BillingType.all.map{ |lk| [lk.name, lk.id, :'data-account-id' => lk.default_account_id] } %>
$('#id_of_your_select').change(function(){
  var accountId = $(':selected', $(this)).data('account-id');
 // do something cool with accountId
});