我有一个结帐表单,其中包含一个select字段,用于调用自定义操作,该操作通过javascript以正确的交付金额更新页面。
=link_to 'Update delivery', store_orders_delivery_path(?????),
method: 'POST', remote: :true
表单有一个“位置”字段
= f.select :location, ["country1","country2","country3"]
如何在link_to中将所选位置作为参数发送?
答案 0 :(得分:2)
我理解你的问题的方式是:
你有一个表单,在提交时会做一些事情。在这个表单中你想要一个链接,它只会从这个表单发送一个字段到另一个动作,并获得一些js作为响应更新表单。
如果是这样,执行此操作的正确方法是在更改选定位置时发送ajax请求。不需要链接,您将创建更好的用户体验。从事件处理程序中,您可以轻松访问所选值并将其与请求一起发送。
更新:
简而言之,我会做的事情:
$('#<modelname>_location').change(function() {handler here})
)selected_value = $(this).find('option:selected').val()
)(或最后的值()获取值,总是让这两个搞砸了)这不是很多代码要编写,但应该做你想要的+它会为用户节省一次点击(他可能没有意识到这是需要的,弄糊涂等等。)
答案 1 :(得分:0)
它应该已经在您的控制器中可用,如:
params[:location]
答案 2 :(得分:-1)
= f.select :location, options_for_select(["country1","country2","country3"]), params[:location]