当我想要值时,使用params []获取哈希的RnR

时间:2011-03-22 16:15:30

标签: ruby-on-rails forms parameters

我有一个网页表单,我想从网址中获取一个参数,并将其作为表单上的隐藏字段添加到网络表单中。

<%= form_tag(:action => 'create') do |f| %>
    <%= text_field_tag :email,"Your email address...", :class => "text", :id => "email", :name => 'email',
        :onFocus => "change(this,'#222222'); this.value=''; this.onfocus=null;", :size => "26" %>
    <%= hidden_field_tag :ref_code, :id => 'ref_code', :name => 'ref_code', :value => params[:ref_code] %>
    <%= submit_tag "Enter To Win", :class => "button-positive submit" %>
<% end %>

如果我只是做:

<%= params[:ref_code] %>

我得到了我想要的值,这是一个五个字符的字母数字,但是当我在表单中使用它时,我得到完整的哈希描述:

{:id=&gt;&quot;ref_code&quot;, :name=&gt;&quot;ref_code&quot;, :value=&gt;[&quot;k53e5&quot;, &quot;home&quot;, &quot;index2&quot;]}

为什么呢?我尝试了.values,.to_s和其他按键获取的方式,我总是得到完整的哈希而不仅仅是值。我究竟做错了什么?感谢。

1 个答案:

答案 0 :(得分:1)

http://apidock.com/rails/ActionView/Helpers/FormTagHelper/hidden_field_tag
hidden_field_tag(name, value = nil, options = {})

<%= hidden_field_tag :ref_code, params[:ref_code], { :id => 'ref_code', :name => 'ref_code' } %>