form_for params

时间:2013-03-25 02:01:24

标签: ruby-on-rails form-for

我需要将表单提交到外部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。提交表单时,param实际上可用作

params[:task][:assignmentId]

无法在外部服务器上通过验证。

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

[edit]这是提交参数的样子

  

UTF8 =%E2%9C%93&安培; _method =放&安培;任务%5BassignmentId%5D = 2LVQ39Z0B6UWI8NXYWJTYRKGQXIMXN&安培;任务%5Boutput%5D =地毯&安培;提交=邮

我希望它没有引用任务。

1 个答案:

答案 0 :(得分:5)

使用hidden_field_tag代替f.hidden_field。顺便说一句,如果您希望此字段存储作业的ID,则应使用@assignment.id,而不仅仅是@assignment

<%= hidden_field_tag :assignmentId, @assignment.id %>