특정 계정과 연결된 사람을 만든 후 어떻게 계정 페이지로 다시 리디렉션합니까? 여기 다른 컨트롤러에서 SHOW 동작으로 리디렉션
http://localhost:3000/people/new?account_id=1
코드입니다 : 다음과 같이
ACCOUNT_ID은 URL 매개 변수를 통해 사람을 만들 행동에 전달
<h2>Account:
<%= Account.find_by_id(params[:account_id]).organizations.
primary.first.name %>
</h2>
<%= form_for @person do |f| %>
<%= f.hidden_field :account_id, :value => params[:account_id] %><br />
<%= f.label :first_name %><br />
<%= f.text_field :first_name %><br />
<%= f.label :last_name %><br />
<%= f.text_field :last_name %><br />
<%= f.label :email1 %><br />
<%= f.text_field :email1 %><br />
<%= f.label :home_phone %><br />
<%= f.text_field :home_phone %><br />
<%= f.submit "Add person" %>
<% end %>
class PeopleController < ApplicationController
def new
@person = Person.new
end
def create
@person = Person.new(params[:person])
if @person.save
flash[:success] = "Person added successfully"
redirect_to account_path(params[:account_id])
else
render 'new'
end
end
end
나는 다음과 같은 오류가 위의 양식을 제출하면 메시지 :
Routing Error
No route matches {:action=>"destroy", :controller=>"accounts"}
왜 DESTROY 동작으로 redirect_to 라우팅이 사용됩니까? SHOW 액션을 통해 리디렉션하고 싶습니다. 어떤 도움이라도 대단히 감사하겠습니다.
'rake routes' 그리고 생성 된 모든 경로를 확인하여 누락 된 부분을 확인하십시오. –
문제는 누락 된 경로가 아닙니다. 그는 단지'account_path (nil)'로 라우팅하려하고있다. – numbers1311407