編集:同じようなスレッドが見つかりました。このスレッドからアドバイスに従います:簡単なRailsブログのindex_post_pathへのリンク方法は?
EDIT2を:
これが原因<% =のlink_to "編集" であり、edit_game_path(:ああ、私は同様のスレッドでこれを見つけました: id)%>を呼び出してレイアウトテンプレートを呼び出します。それは間違っています。 no:idが存在するので、あなたが見ている/ゲームしている場合は編集できません。
gotcha。私はfind_idメソッドを作る必要がありますか? DEF
を編集
:私はposts_controllerで編集および更新機能を定義している私はブログ
のための基本的なレールのチュートリアルに沿って、次のよ
を更新し、この答えを維持します@post = Post.find(params [:id])
enddef update
@post = Post.find(paramsは[:ID])を表示するページ(ローカルホスト:3000 /ポスト/ 1)でif @post.update(params[:post].permit(:title, :body)) redirect_to @post else render 'edit' end
端
とedit_pathへのリンクは、うまく動作し(
が、私は、各ポストの下にインデックスページに同じコードを配置する場合、urlはそれがredirecしようとします。それを)http://localhost:3000/posts/1/editに行きますtは
http://localhost:3000/posts/%23%3CPost::ActiveRecord_Relation:0xd0a2518%3E/edit
がそう明らかにそれが正しいIDをつかんで問題がありますされています。 %23%3CPost :: ActiveRecord_Relation:0xd0a2518%3Eの代わりに、編集する投稿のIDを取得するだけです。
これはおそらく本当に簡単な修正ですが、あなたは私がかなり新しいと言うことができます。前もって感謝します。ああ、誰かも "params"がどこから来たのか説明できますか?どのように私はこれを定義する必要はありませんでしたか? posts_controllerのprivateセクションにpost_paramsを定義しましたが、paramsは何ですか?たぶん私はちょうどそれをgoogleします。混乱して何:
post.update(のparams [:ポスト] .permit(:タイトル、:体))@もし
が実際に意味します。私は、それが更新かどうかのブーリアンですが、更新のためのパラメータが何であるかはわかりません。前もって感謝します!