Rails 请教为什么对象回传不到 create 上,我已经按照例子上的写了

lin_style · 2012年04月17日 · 最后由 lin_style 回复于 2012年04月17日 · 2524 次阅读

##controllers 文件

def new @user = Users.new end

def create @user = Users.new(params[:user]) if @user.save redirect_to :action => :index flash[:notice] = "event was successfully created" else render :action => :register end end

html 的

<%= form_for @user, :url => { :controller => 'users', :action => 'create'} do |f| %>

  • <%= f.label :name, "用户名 (邮箱)" %>

    <%= f.text_field :name,:class => "txt-ctrl"%>

  • <%= f.label :password, "密码" %> <%= f.password_field :password,:class => "txt-ctrl"%>

<% if @user.errors.any? %>

<% end %>

<%= f.submit "注册" > <% end %>

在 create 函数里面,@user出来的都是空值。。

debugger 看看 params[:user] 是什么 还有就是 为什么 model 的名字要复数呢 (Users)

初步怀疑因为类名叫 Users 所以参数是 params[:users]

@user = Users.new

应该是

@user = User.new

if request.post? 这样行不行?

谢楼上,是我多写了个 s

需要 登录 后方可回复, 如果你还没有账号请 注册新账号