編輯:我找到了一個類似的線程,我很抱歉無法找到它。從這個線程遵循建議:如何鏈接到一個簡單的Rails博客的索引頁的edit_post_path?
EDIT2:唉唉,我發現這個類似的線程:
這是因爲<%=的link_to 「編輯」 中,edit_game_path(: id)%>調用佈局模板。這是錯誤的地方。如果您正在查看/遊戲,則無法編輯,因爲沒有:id存在。
gotcha。我需要做一個find_id方法嗎?將保持這個答案更新
我沿着一個基本的Rails教程以下爲
我已經在posts_controller定義的編輯和更新功能博客:
高清編輯
@post = Post.find(params [:id])
enddef update
@post = Post.find(PARAMS [:ID])if @post.update(params[:post].permit(:title, :body)) redirect_to @post else render 'edit' end
端
,並在顯示頁面鏈接到edit_path(本地主機:3000 /帖/ 1)工作得很好(它關係到http://localhost:3000/posts/1/edit):
但是當我把同樣的代碼在索引頁面中的每個帖子下方,鏈接它會嘗試redirec噸至是
http://localhost:3000/posts/%23%3CPost::ActiveRecord_Relation:0xd0a2518%3E/edit
所以顯然有一個與它抓住了正確的ID的問題。而不是%23%3CPost :: ActiveRecord_Relation:0xd0a2518%3E,它應該只抓取要編輯的帖子的ID。
這可能是一個非常簡單的解決方法,但正如你可以告訴我是相當新的。提前致謝。哦,還有人可以解釋「參數」來自哪裏?我怎麼沒有定義這個?我在posts_controller的專用部分中定義了post_params,但什麼是params?也許我會只是谷歌。迷茫什麼:
如果@ post.update(PARAMS [:帖] .permit(:標題:體))
實際意義。我知道這是一個布爾值,不管它是否更新,但不知道更新的參數是什麼。提前致謝!