Не найдено ни одного маршрута [POST] "/ портфели / новые"
Эй, ребята, у меня проблема, нет маршрутов, хотя я создал оба new
так же как create
метод.
portfollios_controller.rb
class PortfolliosController < ApplicationController
def index
@portfolio_items = Portfollio.all
end
def new
@portfolio_item = Portfollio.new
end
def create
@portfolio_item = Portfollio.new(params.require(:portfollio).permit(:title, :subtitle, :body))
respond_to do |format|
if @portfolio_item.save
format.html { redirect_to portfollio_path, notice: 'Your portfolio item is now live.' }
else
format.html { render :new }
end
end
end
end
routes.rb
Rails.application.routes.draw do
resources :portfollios
end
new.html.erb
<h1>Create a new Portfolio Item</h1>
<%= form_with(model: @portfolio_items, local: true) do |form| %>
<div class="field">
<%= form.label :title %>
<%= form.text_field :title %>
</div>
<div class="field">
<%= form.label :subtitle %>
<%= form.text_field :subtitle %>
</div>
<div class="field">
<%= form.label :body %>
<%= form.text_area :body %>
</div>
<div class="actions">
<%= form.submit %>
</div>
<% end %>
Может кто-нибудь помочь мне с этой проблемой. Я не в состоянии понять это.
1 ответ
Я понял. Проблема с файлом new.html.erb
Мне нужно было изменить ниже строки:-
<%= form_with(model: @portfolio_items, local: true) do |form| %>
в
<%= form_with(model: @portfolio_item, local: true) do |form| %>
Это должно быть @portfolio_item, а не во множественном числе.