0

我在我的视图页面上工作正常:

<%

   me = Users.find(session[:id])

%>
<h1>Edit account</h1>
<form action="" method="post">
 Username: <input type="text" name="username" value="<%=me[:username]%>" /> <br />
 E-mail: <input type="text" name="email" value="<%=me[:email]%>" /><br />
 <input type="submit" value="Update" />
</form>

但是当我提交表单时,我得到 No route matches [POST] "/account/edit"

我的控制器:

class AccountController < ApplicationController
    def edit  
        if  params[:username] 
        @out = "Hey"
    end
 end
end

在路线中我尝试设置这个

 post "account/edit"

它也确实有效,但是当它刷新时会话不起作用,所以得到这个:

 Couldn't find Users without an ID

有人能帮我吗

4

1 回答 1

1

编辑旧回复:

我认为尝试调试您在这里所拥有的东西是无济于事的。关键是您的代码存在很多问题,目前尚不清楚您还有哪些与之交互的地方。如果您没有设置其他路由并且控制器中没有其他操作,那么 POST 与什么交互?创建(或类似)操作在哪里查找用户以获取为其创建帐户的用户 ID?

我认为您需要以运行脚手架为起点

rails g scaffold account attr1:type attr2:type etc.

这将为您提供一些可靠的东西,您可以查看、定制和学习。我鼓励你继续努力——很明显你想要学习。祝你好运!:-)

于 2013-03-25T19:34:33.160 回答