Rails + Radio Buttons + AJAX:如何在单选按钮上单击渲染?

我有一个电子商务网站的结帐表单。 它有用于运送选项(快递,标准等)的单选按钮,我希望它显示的动态值,以显示在用户使用AJAX单击的按钮旁边的p.label_delivery_date标记内。 这是我的HTML:

     

我知道我可以在我的单选按钮上执行:onclick选项,但这只会将我发送到javascript文件。 我需要能够传递我的动态shipping_delivered_day值,所以我需要rails来处理它。 如何从单选按钮发送JS请求?

Ruby / Rails实际上提供了一种非常灵活的方法。 您所要做的就是让单选按钮调用javascript函数,然后将部分渲染放在该函数中,如下所示:

  <%= radio_button :model, :field, :value, :onclick => "render_partial();" %> 

这将在单击单选按钮时将给定的部分渲染到“部分区域”div中。 对于多个部分,只需要在同一个div上运行多个函数。 在您的特定实例中,您希望您的部分代码包含一些代码,这些代码将决定您的送货日期。 您可以使用locals render :partial => "ship_3day", :locals => {:p => @product}render :partial => "ship_3day", :locals => {:p => @product} )并让您的部分返回相应的结果( <%= p.shipping_delivered_day %> )。