2014-03-28 67 views
0

这应该很简单,但我不明白表单而不更改模型条目。使用表单向rails应用程序发送ajax请求

我想这样做:

有一个文本输入框(或下拉菜单),用户可以在其中设置他想要一个表格限制

行数目前我显示所有具有循环的行,但如果某人在该框中键入“3”并点击该按钮,则呈现表_table.html.erb的部分应该重新加载,限制为三。

我该如何设置?

+0

此表单是否为远程?此外,表中显示的是部分内容? –

回答

0

你可以做这样的事情:

在你的JavaScript文件:

$('#my_button').click(function(){ 
    $.ajax({ 
    type:'GET', 
    url: '/table', 
    data:{ rows: $('#my_text_field').val() }, 
    success: function(data){ 
     $('#my_table_container').html(data); 
    } 
    }); 
}); 

在你的控制器:

def table 
    render partial: 'table', locals: { rows: params[:rows] } 
end 

在你的routes.rb:

match 'table' => 'your_controller#table' 

然后在你的parti al(_partial.html.rb),您必须迭代您在行参数中收到的行数。

+0

你可以在params.merge中构建吗?我有其他参数管理排序等,并希望他们保持他们的方式 – Killerpixler

+0

如果您需要从视图中更多的参数,只需将它们添加到“数据ajax属性”像数据:{行:val1,排序:val2 }' – VAIRIX

相关问题