form_for() 没有方法错误 [英] No method error with form_for()

查看:32
本文介绍了form_for() 没有方法错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在为我的工作人员活动记录设置表单时遇到一些问题.我有一个用户 has_many 工人关系,并且有工人的嵌套路由.我的表单代码在视图的 workers 目录中的 new.html.erb 文件中.

 <h1>设置一个工人</h1><p>输入以下信息,将您的工作人员连接到我们的服务.</p><div class="row"><div class="span6 offset3"><%= form_for(@worker) 做 |w|%><%= w.label :name %><%= w.text_field :name %><%=w.label :ip_address, "worker的IP地址" %><%=w.text_field :ip_address %><%= w.submit "Create Worker", class: "btn btn-medium btn-primary" %><%结束%>

在我的工人控制器中,我有这个

class WorkersController <应用控制器定义新@worker = Worker.new结尾高清秀结尾结尾

但是当我尝试加载该页面时出现此错误

Workers 中的 NoMethodError#new

它指向这条线

<%= form_for(@worker) do |w|%>

感谢您的帮助.

解决方案

<%= form_for[@user, @worker] do |w|%><%= w.label :name %><%= w.text_field :name %><%=w.label :ip_address, "worker的IP地址" %><%=w.text_field :ip_address %><%= w.submit "Create Worker", class: "btn btn-medium btn-primary" %><%结束%>定义新@worker = Worker.new@user = User.find(params[:id]) 或其他加载用户的方式结尾

Having some issues setting up a form for my worker active record. I have a user has_many workers relationship and had nested routes for the workers. my form code is below in my new.html.erb file in the workers directory of the view.

 <h1>Setup a Worker</h1>
  <p>
   Enter in the information below to connect your worker to our service.
  </p>
  <div class="row">
   <div class="span6 offset3">
    <%= form_for(@worker) do |w| %>

        <%= w.label :name %>
        <%= w.text_field :name %>

        <%=w.label :ip_address, "Ip address of the worker" %>
        <%=w.text_field :ip_address %>

        <%= w.submit "Create Worker", class: "btn btn-medium btn-primary" %>
    <% end %>
  </div>
</div>

In my workers controller I have this

class WorkersController < ApplicationController

  def new
    @worker = Worker.new
  end

  def show
  end

end

But when I try and load that Page I get this error

NoMethodError in Workers#new

and it points to this line

<%= form_for(@worker) do |w| %>

Thanks for the help.

解决方案

<%= form_for[@user, @worker] do |w| %>

    <%= w.label :name %>
    <%= w.text_field :name %>

    <%=w.label :ip_address, "Ip address of the worker" %>
    <%=w.text_field :ip_address %>

    <%= w.submit "Create Worker", class: "btn btn-medium btn-primary" %>
<% end %>

  def new
    @worker = Worker.new
    @user = User.find(params[:id])  or some other way to load the user
  end

这篇关于form_for() 没有方法错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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