2017-06-19 76 views
0

**我得到一个错误,因为未定义的方法,但我已经在控制器中定义了我的实例变量,我不知道该怎么办我是新手红宝石 我已经创建了一个表单,我将输入详细信息并将其保存在按钮单击中,所以这个页面是新的,其中将显示我的表单,并且我在控制器中编写了代码,该代码将闪烁显示保存数据时的消息我会点击提交未定义的方法'afterlogin_path'为#<#<Class:0x007f79311c5c80>:0x007f79311c5280>

**这是我的控制器

class AfterloginController < ApplicationController 


def adminview 

    end 

    def new  
    @afterlogin = Afterlogin.new 
    if @afterlogin.save 
     flash[:notice] = "description created successfully." 
    else 
     flash[:notice] = "description creation failed." 
    end 
    end 
    def regularview 
    end 
end 

这是我的看法

<%= form_for @afterlogin do |f| %> 


<p> 
    <%= f.label :UserName %> 
    <%= f.text_area :UserName %> 
</p> 
<p> 
    <%= f.label :Description %> 
    <%= f.text_area :Description %> 
</p> 
<p> 
    <%= f.label :Date %> 
    <%= f.text_feild :Date %> 
</p> 
<p> 

    <%= f.submit "Submit" %> 
</p> 

<% end %> 

**这是我的分贝迁移文件

class CreateAfterlogins < ActiveRecord::Migration 

    def up 
    create_table :afterlogins do |t| 

     t.string "UserName" 
     t.text "Description" 
     t.date "Date" 
    end 
    end 
    def down 
     drop_table :afterlogins 

    end 
end 

**这是路由文件

Rails.application.routes.draw do 

get 'afterlogin/adminview' 

    get 'afterlogin/new' 

    get 'afterlogin/regularview' 


    get 'login/loginDetails' 
+0

您是否在提交表单时遇到此错误?同时向我们展示您的'路线' – Pavan

+0

当我运行服务器并输入页面没有打开的路线时,它会产生此错误 –

+0

'rake routes'产生了什么? – nmeylan

回答

0

未定义的方法`afterlogin_path”的 类别:0x007f79311c5c80>:0x007f79311c5280

您的路线不是正确。由于您有@afterlogin这是一个资源),Rails将寻找它的Restfulroute。你应该有

resources :afterlogins

routes.rb

这应该解决您的问题。还要确保在控制器中有create动作。

+0

,所以我应该将我的路由文件替换为resources:afterlogins? –

+0

@HarshitJohri不要更换!只需将它放在'routes.rb'中并检查 – Pavan

相关问题