Не найдено ни одного маршрута [POST] для формы редактирования - Ruby on rails - PullRequest
0 голосов
/ 09 июня 2018

я использую рельсы 5

У меня есть модель с именем Цены .(has_many продукты )

Цены имеет модель с именем Продукт (принадлежит_ цена )

В этом случае я могу создать новый продукт , а также уничтожить product .но я не могу отредактировать продукт .

мои маршруты

  resources :prices do
    resources :products
  end

в моем ценовом шоу

<%= link_to "Edit", edit_price_product_path(product.price, product) %>

в редакторе моего продукта

<%= form_for @product, :url => {:action => :edit}, :method => :post do |f| %>
    <%= f.text_field :name, placeholder: 'Name' %>
    <%= f.submit %>
<% end %>

в контроллере моего продукта

def edit
end

def update
    product.update(product_params)
    if @product.update(product_params)
        redirect_to price_path(@price)
    else
        render 'edit'
    end
end

Мои рейк-маршруты

price_products GET    /prices/:price_id/products(.:format)          products#index
                         POST   /prices/:price_id/products(.:format)          products#create
     new_price_product GET    /prices/:price_id/products/new(.:format)      products#new
    edit_price_product GET    /prices/:price_id/products/:id/edit(.:format) products#edit
         price_product GET    /prices/:price_id/products/:id(.:format)      products#show
                         PATCH  /prices/:price_id/products/:id(.:format)      products#update
                         PUT    /prices/:price_id/products/:id(.:format)      products#update
                         DELETE /prices/:price_id/products/:id(.:format)      products#destroy

Проблема в

, когда я нажимаю кнопку отправки, я получаю эту ошибку

No route matches [POST] "/price/price_id/product/product_id/edit"

Спасибо за помощь

1 Ответ

0 голосов
/ 09 июня 2018

Вы можете использовать синтаксис пространства имен для работы с вложенным ресурсом:

<%= form_for [:price, @product] do |f| %>
  <%= f.text_field :name, placeholder: 'Name' %>
  <%= f.submit %>
<% end %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...