获取"未定义的方法`myobjects_path'"在尝试渲染我的Rails表单时

时间:2016-05-19 21:13:09

标签: ruby-on-rails forms ruby-on-rails-4

我正在使用Rails 4.2.3。我无法让我的表单渲染。我收到了错误"未定义的方法`myobjects_path'对于#<#:0x007f8362cc01e0>"在线"<%= form_for @myobject do | f | %GT;"当我访问“http://localhost:3000/users”页面时。以下代码来自我的“app / views / users / _add.html.erb”文件......

<%= form_for @myobject do |f| %>
  <% if @myobject.errors.any? %>
    <div id="error_explanation">
      <h2><%= pluralize(@myobject.errors.count, "error") %> prohibited this hack from being saved:</h2>

      <ul>

这是我的“app / controllers / users_controller.rb”中的方法,从中访问此页面...

class UsersController < ApplicationController
  def index
    @myobject = Myobject.new
  end
end

我需要做什么才能让我的表单呈现?

2 个答案:

答案 0 :(得分:0)

当表单中的对象(在本例中为@myobject)是new_record并且没有id时,会发生这种情况。表单将调用path方法,通常打算转到“/ myobjects”以用作表单源。如果它不是新记录,它将转到详细信息路径(/ myobjects /:id)。

在这种情况下,没有方法myobjects_path,因为您可能尚未在任何地方创建该方法。在路线中创建很容易。只需确保您拥有resources :myobjects并且不排除创建操作

答案 1 :(得分:0)

在控制器添加方法

def new
   @myobject = Myobject.new
end

def create

end