我是新來的RoR和建立一個新的控制器,我嘗試從控制器的初始化方法中的params散列獲得:id,但是導軌回來說它是一種方法。到處都是我讀過的,所以爲什麼NoMethod錯誤?初始化方法中的參數散列
無論如何,讓我難以理解的主要原因是爲什麼我無法從初始化方法訪問參數散列(或方法或任何它:) :)?
真的很感激任何幫助......
謝謝:)
class PeopleController < ApplicationController
def initialize
if params[:id] && !params[:id].empty
@person = Person.find(params[:id])
end
end
def index
@people = Person.all
end
def show
@person = Person.find(params[:id])
end
和錯誤的截圖是在這裏:http://img820.imageshack.us/img820/6063/screenshot20110423at221.png
感謝
好,但PARAMS哈希或方法?它是什麼? – Ryan 2011-04-23 21:26:25
哦,什麼是'超級'? – Ryan 2011-04-23 21:33:13
** 1。**它像哈希一樣。 Ruby接口是故意模糊的,在某種抽象層次上,所有事情都只是響應消息。一些消息是內置的。 ** 2。**'super'是父類或*超類*中的* initialize *方法。通過定義一個* initialize *,你可以攔截在超類中初始化的調用,但是從初始化方法調用* super *會調用父類。 – DigitalRoss 2011-04-23 21:49:31