调用并将参数从视图传递到控制器w /选择框和按钮

时间:2012-10-17 23:42:53

标签: ruby-on-rails ruby-on-rails-3

我正在尝试在Rails应用中订购一个表(没有任何插件)。我们的想法是从数据库中检索一个表并使用3个选择框对其进行排序。点击“订购”按钮并刷新包含有序数据的页面后。

我正在尝试并获取此代码:

def order
  @clients = Client.all(:order => 'parameter1, parameter2, parameter 3')
end

但是,我有两个问题:

  1. 如何将<select>框中的参数传递给控制器​​的方法order
  2. 当我点击按钮时,如何调用此方法并使用有序数据刷新页面?

1 个答案:

答案 0 :(得分:0)

我认为现在可以扩展呈现表的相同控制器操作来处理传入的排序选项。例如,它可能是控制器中的当前index方法。

因此,使用form_forselect帮助者和重新调用submit的{​​{1}}按钮,在当前页面中构建表单。

在控制器中,您可以使用Rails为您设置的index哈希访问选择框中选择的值。例如,如果您的排序参数是“高度”,“年龄”和“性别”,则在选择列表paramssort1sort2中,您可能拥有类似< / p>

sort3

我知道你说你不想要一个插件(宝石),但我必须提到一个非常棒的,即使是非常复杂的排序(和过滤),也称为ransack