おそらく初心者の間違いですが、誰かが私を助けてくれることを願っています. 例の性質について謝罪することから始めましょう。私のアプリでは、犬が去勢されているかどうかを知り、このオプションを犬のリストに表示する必要があります。
例
... 所有者 | 去勢された犬2 | 所有者 | 去勢されていない
ビューは見栄えがよく、プロパティも適切に返します。問題は、Neutered/Not Neutered リンクをクリックすると、データベースのフィールドがトグルされず、Routing Erro No route matches [POST] "/dogs/3" が表示されることです。 .
私は Dog というデータベースを持っていて、ブール値のオプションがあります :neutered 私はdogs_controller.rbに持っています
...
def neuter
@dog = Dog.find(param[:id])
@dog.toggle!(:admin)
flash[:success] = "犬の去勢ステータスを変更しました"
redirect_to dogs_url
end
...
私のroutes.rbには
...
リソース :dogs do
member do
get :watching, :watchers (プログラムの他の場所で使用) end
end
...
私が持っている犬をリストするパーシャルで
...
<%= link_to dog.name, dog %>
<%= if dog.neutered? %>
<%= link_to "Neutered", dog, method: :neuter, data: { confirm: "これにより、犬が去勢されたとマークされます。よろしいですか?" } %>
<% else %>
<%= link_to "Not Neutered", dog, method: :neuter, data: { confirm: "これにより、犬は去勢されていないとマークされます。よろしいですか?" } %>
...
それで、私は何が欠けていますか?シンプルなものだと思いますが、見つけられないようです。他のいくつかのオプションを試しましたが、何も解決していないようです。