我需要将表单提交到外部 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
,因为我需要访问我的 Controller 变量。外部服务器寻找一个参数,
assignmentId
.当表单被提交时,参数实际上是可用的params[:task][:assignmentId]
无法通过外部服务器上的验证。
我该如何解决?如何从 Controller 访问变量并将“裸”参数传递给外部服务器?
[编辑] 这是提交参数的样子
utf8=%E2%9C%93&_method=put&task%5BassignmentId%5D=2LVQ39Z0B6UWI8NXYWJTYRKGQXIMXN&task%5Boutput%5D=carpet&commit=Post
我希望它没有引用任务。
最佳答案
使用 hidden_field_tag
而不是 f.hidden_field
.顺便说一句,如果您希望此字段存储作业的 id,您应该使用 @assignment.id
,不仅仅是 @assignment
.
<%= hidden_field_tag :assignmentId, @assignment.id %>
关于ruby-on-rails - form_for 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15606517/