[英]Update attributes rails - No route matches [POST]
我正在嘗試從根本上更新集成對象屬性“過濾器”。 我有一個集成控制器,這樣做似乎應該采取的適當措施。 但是,當我在填寫文本字段后嘗試保存時,出現此錯誤, No route matches [POST]
,我理解它的意思,但不是更新帖子嗎? 為了清楚起見,這是我的代碼。
def update
@integrations = current_account.integrations.find(params[:id])
attrs = params.require(:integration).permit(:filters)
if @integrations.update_attributes(attrs)
redirect_to account_integration_path
else
render :filters
end
end
def filters
@integrations = current_account.integrations.find(params[:id])
end
<%= form_for @integrations, url: filters_account_integration_path do |f| %>
<%= f.text_field :filters, class: "tag-autocomplete" %>
<%= link_to "Save", account_integration_path, method: :post, class: [ "button", "button--modal" ] %>
<% end %>
resources :integrations, only: [ :index, :destroy, :update ] do
get "filters", on: :member
end
希望有足夠的信息讓我知道是否需要更多? 我的基本問題是為什么這不更新集成對象? 不更新帖子嗎?
resources
默認情況下會生成七個路由。 您正在使用它來生成其中的三個。 這三個路線將如下所示:
GET /integrations
DELETE /integrations/:id
PATCH /integrations/:id/edit
另一方面,您的表單正在嘗試使用以下路線:
POST /integrations/:id
與任何生成的路線都不匹配。
而是嘗試使用默認的表單助手:
<%= form_for @integrations, url: url_for(:controller => :integrations, :action => :update, :id => @integrations.id) do |f| %>
<%= f.text_field :filters, class: "tag-autocomplete" %>
<%= f.submit "Save" %>
<% end %>
假設@integrations
是單個Integration
資源。 如果不是,那么您將面臨的不僅僅是這個問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.