2017-06-19 110 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

相關問題