이것은 아마도 좋은 생각이 아닙니다. 권장하지 않습니다. 아마도 당신의 요구를 충족시키는 더 좋은 방법이있을 것입니다. - 무엇이 잘못 되었습니까? example.com/users/123/
그러나 반드시 수행해야한다면 세 번째 컨트롤러를 만들면됩니다. 바로 가기 컨트롤러라고 부릅니다.
먼저 쇼트 컷 컨트롤러로 라우팅해야 표시 및 수정을 위해 :/name
변수가 전달됩니다. 라우팅에 대한 아이디어는 Railscast에서 확인하십시오.
단축키 컨트롤러 동작에서 우선 순위를 지정해야합니다 (사용자와 프로젝트의 이름이 같은 경우). 먼저 주어진 이름과 일치하는 사용자 이름을 확인하고 그/다른 이름을 표시하거나 편집하십시오 프로젝트에 대한보고 후, 그것은과 같이 보일 것이다 (404)
오류 보여 어쨌든
def show
if @user = User.find_by_name(params[:name])
render 'users/show'
elsif @project = Project.find_by_name(params[:name])
render 'projects/show'
else
raise ActiveRecord::RecordNotFound, "Error message"
end
end
에게, 즉, 아마 작동하도록 만들 수 있지만, 다시 나는 그것이 좋은 생각 모르겠어요 수 그리고 나는 그 아이디어에서 당신이 운동해야 할 많은 결함이 있다고 의심합니다. 행운을 빕니다!
사용자 이름이 프로젝트와 같은 경우 또는 그 반대의 경우를 어떻게 처리합니까? – kikito