Undefined method `post_path' for

Próbuję stworzyć formularz w rails przy pomocy gema simple_form, lecz napotkałem błąd, którego nie umiem rozwiązać.

Kod wygląda tak:

  <%= simple_form_for @post do |f| %>
    	<%= f.input :title, label: false %>
    	<p><%= f.submit %></p>
    <% end %>

Treść błędu:

Showing /home/lenovo/Desktop/rails/rails-blog/app/views/home/edit.html.erb where line #2 raised:

undefined method `post_path’ for #<#Class:0x00007f5c54092fd8:0x00007f5c4c18c2e8>
Did you mean? font_path
root_path

Problem ppojawia się w akcji edit gdy chcę wyświetlić formularz do edycji danych dla posta. Railsy mówią coś o post_path, jednak nie mam nawet takiej ścieżki.
Kod metody z kontrolera:

def edit
  	@post = Post.find(params[:id])
  end

Używam RESTowych akcji i linków(resources) jeśli to istotne. Tak samo dzieje się gdy korzystam z wbudowanego helpera railsów do tworzenia formularzy(form_for). Wie ktoś jak to naprawić?

a sprawdzałeś za pomocą rails routes (rake routes jeśli starsze railsy), czy faktycznie ścieżka do edycji posta to post_path?

Railsy sa magicznie sprytne (konwencje), stad jak podajesz w nich ze budujesz form dla @post on szuka sciezek /posts/:id, ale takie musisz miec zgodnie z konwencja zdefiniowane routsy, jak jak masz wyzej wspomniane. Jesli takich sciezek nie masz to musisz recznie podac np namespace [‘admin’, @post], albo w ogole recznie sciezke. Wszystko jest w podstawowej dokumentacji do rails

1 Like