'####' 的未定义方法 `merge':string <%= form_for %>帮手 [英] Undefined method `merge' for '####':string <%= form_for %> helper

查看:40
本文介绍了'####' 的未定义方法 `merge':string <%= form_for %>帮手的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个表单,当发布时,呈现另一个表单.我想做的是将第一种形式的参数传递到第二种形式的某些隐藏字段中.

第二个表单使用 form_for 表单助手,我想要做的是让它接受发布给它的参数.

表格如下所示:

 <%= 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 class="choose_found_number"><%= f.submit "选择这个数字", :class =>btn btn-大 btn-success"%>

<小时><%结束%>

当我做类似的事情时

<%= f.hidden_​​field :original_number, params[:original_number] %>

该操作给了我错误:

NoMethodError in Find_numbers#create显示 C:/Sites/dentist/app/views/phones/new.html.erb 其中第 17 行提出:1231231234"的未定义方法`merge':字符串

1231231234"是被 POST 到表单的参数,但它似乎不接受它.

你知道我如何让表单接受参数吗?

当我删除 params[] 时,错误不会发生,但参数也不会填充到隐藏字段中.

解决方案

hidden_​​field 中的第二个参数应该是 选项哈希,不是值

<%= f.hidden_​​field :original_number, :value =>params[:original_number] %>

I have a form, that when POSTed, renders another form. What I would like to do is to pass the parameters from the first form, into certain hidden fields of the second form.

The second form is using a form_for form helper, and what I'm trying to do is to get it to accept the parameters that are being posted to it.

Here's what the form looks like:

    <%= 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 %>

When I do something like

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

The action gives me the error:

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

The "1231231234" is the parameter that is being POSTed to the form, but it doesn't seem to accept it.

Do you have an idea of how I would get the form to accept the parameter?

When I removed the params[], the error doesn't happen, but the parameters also don't populate in the hidden fields.

解决方案

second parameter in hidden_field should be an option hash, not a value

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

这篇关于'####' 的未定义方法 `merge':string &lt;%= form_for %&gt;帮手的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
其他开发最新文章
热门教程
热门工具
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆