我今天開始使用Rails。我決定遵循官方的「入門」文檔(http://guides.rubyonrails.org/getting_started.html),這一切都非常順利,直到我點擊「刪除文章」部分。我跟着教程,並增加了一個動作:Rails「方法:刪除」刪除資源不工作
def destroy
@video = Video.find(params[:id])
@video.destroy
redirect_to videos_path
end
我呈現給定方法的刪除鏈接:
<td><%= link_to 'Destroy', video_path(video), method: :delete, data: { confirm: 'Are you sure?' } %></td>
不幸的是,這是行不通的。銷燬控制器永遠不會被調用,視頻也不會被刪除。使用內置服務器,我意識到沒有DELETE,只有GET請求實際上到達服務器。
我認爲問題在於Rails評估link_to函數的方式。呈現的鏈接的格式如下:
<a data-confirm="Are you sure?" href="/videos/3" method="delete">Destroy</a>
但是,如果我更改HTML標籤用手把數據的方法,它完美的作品。顯然,我需要rails來將其作爲數據方法的方法。
任何人都可以幫忙嗎?
Ruby 2.0.0p481 Rails 4.1.6 – MrR 2014-10-11 16:52:58
這是一個很奇怪的問題。我使用的是Ruby 2.0.0p353和Rails 4.1.6,但我得到了正確的鏈接,其中「method」是「data-method」。唯一的問題是我正在使用HAML。你介意發佈你的Gemfile。只是想看看它。 – Touch 2014-10-11 18:14:08
我更新到最新的Ruby(2.1.3),沒有任何改變。 – MrR 2014-10-12 09:19:21