【问题标题】:Usage Rails 3.0 beta 3 without ActiveRecord ORM使用 Rails 3.0 beta 3 没有 ActiveRecord ORM
【发布时间】:2010-06-14 11:28:15
【问题描述】:

刚刚在 Windows 7 中安装了 Rails 3.0 beta 3。 然后开始玩一些简单的例子

   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>

当我转到 /signup 时出现此错误

NoMethodError 在 注册控制器#index

当你没有时你有一个 nil 对象 期待它!你可能已经预料到了 数组的实例。发生错误 在评估 nil 时。[]

构造函数有问题还是出了什么问题?请需要您的帮助! 我只是不会使用 ActiveRecord 或任何其他 ORM。

【问题讨论】:

    标签: ruby-on-rails ruby


    【解决方案1】:

    您需要另一个操作来处​​理该帖子,可能称为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变量没有内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-16
      • 2013-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-15
      • 1970-01-01
      相关资源
      最近更新 更多