2
(ruby 1.9.2 rails 3.0.6)为什么form_for对我不起作用
我是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
的意见/注册/ 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 %>
添加资源后:用户。它正在工作。 但为什么我需要将我的模型添加到路线? – jojo 2011-04-12 07:19:47
form_for默认查找resource_path(你的情况下是@users),所以users_path。这是RESTful的方式。这条路线不存在,你得到一个错误。如果你想指定另一条路线,你可以使用“form_for @user,:url => your_custom_path”,但它必须是某种东西。 – Spyros 2011-04-12 07:37:36
是的,当你认为轨道是JUST模型,视图控制器时有点令人困惑......但是一个路线也是工作所需要的。我猜“模型,视图,路线,控制器”并不轻松。 – Jenny 2011-04-25 18:48:58