2012-06-13 102 views
6

這是一個全新的項目。這裏的確切命令我已經運行:爲什麼Rails控制器操作方法需要參數

  1. rails new MyProject
  2. bundle install
  3. rails generate controller Image

我添加了這一條路線:

  1. root :to => "image#process"

我添加此功能可將ImageControllerimage_controller.rb

def process 
    render :nothing => true 
end 

最後,我已經刪除了默認index.html。當我運行該項目時,它有一個錯誤,表示進程需要0個參數,而不是1.因此,我修改了該方法,告訴我哪個參數正試圖發送到進程。

def process(arg) 
    p arg 
    render :nothing => true 
end 

字符串「process」被打印到屏幕上。我以前做過幾個Rails項目,從未遇到過這個。我錯過了某個地方的某個步驟嗎?這是Rails 3.0.10中的新東西嗎?或者可能是由R​​uby 1.9.2引起的?我想我通常使用1.8.7。

回答

11

您無法將操作命名爲process,這是用於rails控制器的內部方法,將其命名爲其他內容。

還有一堆其他名稱不能用於控制器操作,如渲染,參數,請求。不幸的是,這些東西沒有列表。

+0

哦,我什至沒有想到這一點。謝謝! – Spidy

+0

啊..給了我很多時間。謝謝! – rdsoze

相關問題