我有一个link_to
,它的remote:
设置为true。我想做的是在请求中添加一个额外的属性,所以我尝试使用以下代码:
<script>
$(document).ready(
function(){
$("#part_btn").bind("ajax:beforeSend",
function(event, xhr, settings, data){
settings.data += "&user_id=5"
})
})
</script>
现在我甚至不知道这是否可行,因为user_id
从未发送到控制器,并且当我记录setting.data
时,我得到的是null&user_id=5
。
如果不可能这样做,还有其他方法吗?
编辑:
我没有向link_to
添加额外的参数,因为user_id
实际上来自选择标签,我想将选择的值作为额外数据添加,就像这样:
settings.data += ("&user_id="+$("#register_user_id option:selected").val());
这是我的link_to
的样式:
<%= text_field_tag :part_id, nil, :class => 'text_field', data: {source: autocomplete_parts_for_registers_registers_path} %>
<%= link_to('toevoegen', '#!', id: 'part_btn', class: 'btn btn-small btn-success addbtn', style: "margin-top: 5px", data: {source: add_part_registers_path}, remote: true) %>
$('#user_select').change
事件动态更改data-params="user_id=5"
зљ„еЂјгЂ‚ - Anthony Eajax:beforeSend
以发送参数,它使用上述方法,我认为这是更清晰的方法,因为您可以更轻松地从Rails控制台进行调试。我不确定settings
是否只读。如果这是一个GET请求,则可以通过settings.url + =&newProp = newValue
附加到URL中。但是不确定百分之百。 - Anthony Elink_to
,以防有什么问题。 - Kupi