如何通过Rail 3中的远程选择将数据发送到控制器?

时间:2011-12-12 12:47:47

标签: jquery ruby-on-rails-3 ruby-on-rails-3.1 html-select

我想做的是加载服务的价格。这些服务列在选择标记中。

<%= f.collection_select(
:service_id,
Service.all,
:id,
:name,
:prompt => 'Select a service') %>

<%= f.label :Price%>
<%= f.number_field :price, :class => 'price-input' %>

我的想法是,当我选择服务时,价格会显示在:price字段中。

我已阅读有关:remote => true但我如何捕获所选值并将其发送给控制器?以及控制器如何返回响应?

如果您需要任何澄清,请告诉我。

1 个答案:

答案 0 :(得分:0)

搜索rails unobtrusive javascript

<%= f.collection_select(:service_id,Service.all,:id,
:name,:prompt => 'Select a service',
:"data-behavior => "select_service) %>

在services.js.coffee中? (资产)

$(document).ready ->
  $('[data-behavior="select_service"]').change (e) ->
    $.get '/services/' + this.value + '/select_service',
      (data) ->
        $("#model_price").val(data)

您的控制器(select_service)中的操作将获得服务并呈现:text =&gt;价

或类似的东西。