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>

しかし、フォームを送信すると、ルートが一致しません [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 に答える