この質問は非常に簡単ですが、私は固執しているようです。Rails 3、行の特定の値を変更する
は、私たちはテーブル「ブック」
各ブックを持っていると言うことができます名前、説明、およびステータスを持っています。
リンクを表示ビューで作成したいとします。リンクをクリックすると、ステータスが変更されます(例:「読み取り」)。 <% =のlink_to「読む」:
def read
@book = Book.find(params[:id])
@book.status = "Read"
@book.update_attributes(params[:book])
respond_to do |format|
format.html { redirect_to :back}
format.xml { render :xml => @book }
end
end
は、その後、私は似ているビューへのリンクを追加しました:言うこれまでのところ、私は、コントローラ内のブロックを追加しようとしました
、 、read_book_path(@book)、:method =>:put%>
これはまったく機能しません。私はそれを私のルートに加えましたが、それは重要ではないようです。
助けがあれば助かります。ありがとう!
-Elliot
EDIT:あなたがやろうとしているすべての本にstatus
属性を設定し、更新されていない場合は未定義のメソッド `read_book_path」
を入れてちょっとセス、答えてくれてありがとう!あなたが言ったように正確に試してみたとき、私は同じNoMethodErrorを得るようです: "未定義のメソッド' read_book_path 'for " – Elliot
実際には、うまくいきました!私はメンバーの代わりに私のルートでコレクションを持っていた!ありがとう! – Elliot
複数形を再確認してください。 resourceS:bookS。コンソールから "rake routes"を実行して投稿してください。 – sethvargo