【发布时间】:2012-06-02 15:40:53
【问题描述】:
我遇到了路由错误,我找不到问题出在哪里,我正在创建一个简单的 CRUD,但使用 create 方法遇到了这个问题。
错误
没有路线匹配 [POST] "/usuarios/new"
控制器
def new
@usuario = Usuarios.new
end
def create
@usuario = Usuarios.new(params[:usuario])
if @usuario.save
redirect_to usuario_path, :notice => "Cadastrado realizado com sucesso!"
else
render "new"
end
end
new.html.erb
<h1>Add new user</h1>
<%= form_for (:usuario) do |f| %>
<p>
<%= f.label :name %><br />
<%= f.text_field :name %>
</p>
<p>
<%= f.label :idade %><br />
<%= f.text_field :idade %>
</p>
<p>
<%= f.label :email %><br />
<%= f.text_field :email %>
</p>
<p>
<%= f.submit "send" %>
</p>
<% end %>
【问题讨论】:
-
只是一些澄清,主要是由于可能不理解该语言。在
new方法中,它可能应该是:@usuario = Usuario.new。在create方法中,应该是Usuario.new(params[:usuario])。和另一个提到的一样,在redirect_to上,您需要包含@usario。
标签: ruby-on-rails model-view-controller