Rails select_tag onchange动作没有Ajax?

时间:2011-05-19 10:29:13

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

在我的小时控制器的索引操作中,我希望能够在显示的小时之间切换。 我正在使用calendar_for表,在日历中我显示了我的rails应用程序的不同用户的跟踪时间(小时)。 由于我使用的是一个非常复杂的日历结构,里面有一些计算,我不知道如何将其提取为部分,因此我希望在select_tag中触发的onchange事件使用不同的参数重新加载索引操作。

我试过

<% form_for :hours, :url => { :action => "index" } do |f| %>
  <%= select_tag :user_id, options_from_collection_for_select(User.find(:all), :id, :name),
  { :onchange => "this.form.submit();"} %>
<% end %>

但这会带我到新的/表单视图(就像我想添加一条新记录)?该网址也只显示/hours

任何帮助都将不胜感激....

我基本上希望在更改选择菜单后,网址看起来像/hours?user_id=<id from select_tag>

感谢

1 个答案:

答案 0 :(得分:0)

我不太明白为什么你需要一张表格?我认为最简单的方法是用这样的东西更新你的application.js文件(假设你使用jquery):

$("#selector_id").change ( function () {
  window.location.replace('/hours?'+this.id);
});

虽然可能有一些漂亮的铁路助手。