5

我需要向外部 URL 提交表单,所以我有这个:

form_for(@task, :url => "https://www.external.com/Submit") do |f|)
    <%= f.hidden_field :assignmentId, :value => @assignment %>
    <%= link_to image_tag(@imagelocation) %>
....

我正在使用form_for,因为我需要访问我的控制器变量。

外部服务器寻找一个参数,assignmentId. 提交表单时,参数实际上是可用的

params[:task][:assignmentId]

未能在外部服务器上通过验证。

我该如何解决这个问题?如何从我的控制器访问变量并将“裸”参数传递给外部服务器?

[编辑] 这是提交参数的样子

utf8=%E2%9C%93&_method=put&task%5BassignmentId%5D=2LVQ39Z0B6UWI8NXYWJTYRKGQXIMXN&task%5Boutput%5D=carpet&commit=Post

我希望它没有引用任务。

4

1 回答 1

5

使用hidden_field_tag而不是f.hidden_field. 顺便说一句,如果您希望此字段存储分配的 id,您应该使用@assignment.id,而不仅仅是@assignment.

<%= hidden_field_tag :assignmentId, @assignment.id %>
于 2013-03-25T11:26:20.363 回答