2010-06-14 49 views
1

剛安裝了Rails 3.0的Beta 3在Windows 7 ,並開始與一些簡單的例子使用的Rails 3.0的Beta 3不ActiveRecord的ORM

class SignupController < ApplicationController 
    def index 
     @user = User.new(params[:user]) 
     if method.post? and @user.save 
     redirect_to :root 
     end 
    end 
    end 

    class User 
     def initialize(params = {}) 
     @email = params[:email] 
     @passw = params[:password] 
     end 

     def save 
     end 
    end 

<div align="center"> 
<% form_for :user do |form| %> 
    <%= form.label :email %> 
    <%= form.text_field :email %><br /> 
    <%= form.label :password %> 
    <%= form.text_field :password %><br /> 
    <%= form.submit :Register! %> 
<% end %> 
</div> 

打當我去/註冊我得到這個錯誤

NoMethodError在 SignupController#指數

你有一個零對象,當你沒 指望它!您可能預期了Array的一個 實例。錯誤發生時 評估無[]

是否有構造函數的問題或有什麼問題?請,需要你的幫助! 我只是不會使用ActiveRecord或任何其他ORM。

回答

0

您需要另一個操作來處​​理帖子,可能它被稱爲create。這是我會怎樣修改您的控制器:

def index 
    @user = User.new 
end 

def create 
    @user = User.new(params[:user]) 
    if method.post? and @user.save 
    redirect_to :root 
    end 
end 

該錯誤可能時會顯示index因爲,params變量沒有內容。

+0

非常感謝jpartogi 你是偉大的人! – Anton 2010-06-14 15:05:08