我有一个表单,当发布时,呈现另一个表单。我想做的是将参数从第一个表单传递到第二个表单的某些隐藏字段中。
第二个表单是使用for m_作为表单助手,我要做的是让它接受发送到它的参数。
下面是表单的外观:

    <%= form_for(@phone) do |f| %>
        <%= f.hidden_field :original_number, params[:original_number] %>


        <%= f.hidden_field :name, params[:name] %>
        <%= f.hidden_field :twilio_number,  number.phone_number %>

        <div class="found_list">
            <div class="found_phone_number">
                <%= f.label :number, number.friendly_name) %>
            </div>
            <div class="choose_found_number">
            <%= f.submit "Choose This Number", :class => "btn btn-large btn-success" %>
            </div>
        </div>
            <hr>
    <% end %>

当我做一些像
<%= f.hidden_field :original_number, params[:original_number] %>

这个动作给了我一个错误:
NoMethodError in Find_numbers#create

Showing C:/Sites/dentist/app/views/phones/new.html.erb where line #17 raised:

undefined method `merge' for "1231231234":String

“1231231234”是发送到表单的参数,但它似乎不接受。
你知道我如何让表格接受参数吗?
当我删除params[]时,不会发生错误,但参数也不会填充在隐藏字段中。

最佳答案

hidden_field中的第二个参数应为option hash,而不是值

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

关于ruby-on-rails - '####'的未定义方法'merge':string <%= form_for%>助手,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12732046/

10-13 04:50