0

网址: /evaluations

我已经制作了一个表格来选择一个特定的项目(一个时期)

class EvaluationsController < ApplicationController
  def index
    @periods = Period.all
  end

我的表格:

<% form_for XXXXX do %>
  <%= collection_select(:period, :period_id, @periods, :id, :fullname) %>
  <%= submit_tag("Valider") %>
<% end %>

我希望表单在提交时转到 /evaluations/3(如果选择的时间段是 3)。

当我手动转到 /evaluations/3 时,它就像一个魅力,但我真的不知道如何编写 form_for 以通过提交表单来访问正确的 url。

4

2 回答 2

1

简单的方法

提交周期ID来处理数据,然后重定向到action,它 作为参数evaluations/:id处理。:id

redirect_to <youraction>(:period => @id) 

这应该可以解决问题。

不是那么简单的方法

如果您想在提交数据后动态更改页面上的某些内容 - 调用方法并使用 javascript 响应

respond_to do |format|
  format.js 
end

在 javascript 响应中,您可以放置​​您想要的任何内容 - 简单的重定向或脚本,它们将动态更改页面。由你决定。

希望能帮助到你。

于 2013-02-10T02:09:07.127 回答
0

您需要使用一些 javascript 来更新action表单

$('#period_period_id').change(function() {
  $('form').attr('action', '/evaluations/' + this.value);
})
于 2013-02-10T01:34:30.130 回答