1

我正在尝试添加 jquery 上传但我需要将参数传递到我的表单中

这里的表格

<%= form_for Photo.new do |f|%>
  <%= f.label :title %><br />
  <%= f.text_area :title, :rows => 3, :value => "Add a photo", :onclick=>"this.value='';" %>
  <%= f.file_field :photo, multiple: true %>
  <%= f.hidden_field('event_id', params[:event_id]) %>
  <%= f.submit "Add Picture" %>
<% end %>

但这不起作用,问题是我有一个链接跟随 localhost/events/16/photos/useradd

其中 16 是 event_id 参数。我怎样才能把它放在我的隐藏字段中以便之后发送?

更新

NoMethodError in Photos#useradd
Showing /home/jean/rail/voix/app/views/photos/useradd.html.erb where line #13 raised:
undefined method `merge' for "16":String

错误和 16 是我的 event_id

4

1 回答 1

3

好的,在这里在黑暗中拍摄:

尝试

<%= f.hidden_field 'event_id', :value => params[:event_id] %>

编辑 - 为什么它起作用:

hidden_​​field 方法具有以下签名:hidden_field(object_name, method, options = {}) 请参阅有关 hidden_​​field 的文档

您已将值 16 作为要由 hidden_​​field 调用的方法传递,但这是行不通的。

hidden_​​field 的第三个参数是一个选项哈希。设置该哈希的“值”字段将设置助手生成的输入标签的值,从而有效地将“16”设置为该表单字段的值。:)

最好的祝福

于 2012-10-03T02:55:14.877 回答