form_for

Dlaczego w widoku taka konstrukcja działa:

<% form_for @request, :url => request_path(@request) do |f| %>

a taka nie:

<% form_for @request do |f| %>

i rzuca takim błędem:

request_url failed to generate from {:action=>“show”, :controller=>“requests”, :id=>[]}, expected: {:controller=>“requests”, :action=>“show”}, diff: {:id=>[]}

Pozdrawiam

W kontrolerze akcja new:

@request = Request.new

EDIT: Teraz zauważyłem, że robisz formularz w akcji show. Powinien być raczej w akcji new, ale jeśli koniecznie chcesz w show to wrzuć ten kod co dałem do akcji show.

formularz jest w new: oto kontoler:

[code=“ruby”]…
def show
@request = Request.find(params[:id])

respond_to do |format|
  format.html
end

end

def new
@request = Request.new

respond_to do |format|
  format.html
end

end
…[/code]

Znalazłem błąd, jeden z named scopów w modelu request nazwałem :new.

Ehh, to on tyle namieszał.

Pozdrawiam