为什么form_for不适合我

joj*_*ojo 2 ruby-on-rails ruby-on-rails-3

(红宝石1.9.2导轨3.0.6)

我是ROR的新手,对不起我的简单问题.

我有一个表单和一个控制器,当我启动我的应用程序时,我可以看到日志已经显示..但是渲染视图时有例外...

一切都应该看起来很好..问题是什么?我该怎么解决?

谢谢.

undefined method `users_path' for #<#<Class:0x47c7678>:0x47c6118>
Extracted source (around line #2):

1: <h1>Welcome Aboard</h1>
2: <%= form_for(@user) do |f| %>
3:   <table>
4:     <tr>
5:       <td><%= f.label :username %></td>

class RegisterController < ApplicationController

  def sign_up
    logger.debug("sign_up inoked")

    @user = User.new

    logger.debug("sign_up finished")
  end

end
Run Code Online (Sandbox Code Playgroud)

视图/注册/ sign_up.html.erb

<%= form_for(@user) do |f| %>
  <table>
    <tr>
      <td><%= f.label :username %></td>
      <td><%= f.text_field :username %></td>
    </tr>
    <tr>
      <td><%= f.label :password %></td>
      <td><%= f.password_field :password %></td>
    </tr>
    <tr>
      <td><%= f.label :password_confirmation %></td>
      <td><%= f.password_field :password_confirmation %></td>
    </tr>
    <tr>
      <td colspan="2"></td>
    </tr>
    <tr>
      <td colspan="2"><%= f.submit "Sign up" %></td>
    </tr>
  </table>
<% end %>
Run Code Online (Sandbox Code Playgroud)

Spy*_*ros 9

看来你没有合适的路线.你有一条线:

resources :users
Run Code Online (Sandbox Code Playgroud)

在你的routes.rb文件?如果不是,请尝试添加.或者只创建名为route的特定users_path.