2010-03-14 1 views
1

지금은 초대 전용 베타 버전의 앱이 있습니다. 문제는 초대 시스템이 작동하지 않는다는 것입니다. :한 페이지에 여러 개의 양식이 있습니다.

내 루트 페이지에는 로그인 양식 (잘 작동합니다)이 있는데 같은 페이지에 "요청 초대장"양식을 추가하려고합니다. InviteRequest에 양식을 입력하여 작업을 시작했습니다. . "InviteRequest"에 대한 "뷰"폴더에 부분 안에 액티브가), 응용 프로그램은 확실히이 부분을 호출,하지만 난 다음 오류 받고 있어요 :

NoMethodError in User_sessions#new 

Showing app/views/invite_request/_new.html.erb where line #2 raised: 

undefined method `invite_requests_path' for #<ActionView::Base:0x25b3248> 
Extracted source (around line #2): 

1: <% @invite_request = InviteRequest.new() %> 
2: <% form_for @invite_request do |ir| %> 
3: <%= ir.label :email %> 
4: <%= ir.text_field :email %> 
5: <% end %> 

나는 또한에서 "여러 모델을 통해 읽기 "신뢰할 수있는 사본 "Agile Web Development with Rails"의"양식 "섹션에서"fieldset "태그를 사용하여이 작업을 수행 할 수 있습니다. 그러나 이것이 올바른 접근인지 확실하지 않습니다.

Thx.

+0

관련성이있는 경우이 부분은 "user_session"컨트롤러, "새"작업 페이지 (로그인 페이지)에서 호출됩니다. 그래서 어떤 종류의 범위 문제가있을 수도 있습니다. – jefflunt

+0

* 또한 "요청 초대"기능을 자체 페이지에 넣을 수도 있습니다.이 기능은 더 간단 할 수 있지만 여분의 클릭이 없으면 좋을 것입니다. :) – jefflunt

답변

2

form_for @invite_request은 양식의 결과를 게시해야하는 위치를 파악하려고합니다. 이것은 경로를보고 필요한 자원과 작업과 일치하는 경로를 찾는 것입니다. 귀하의 경우에 나는 InviteRequest에 대한 경로를 설정하지 않았다고 추측합니다. InviteRequest에 대한 라우팅을 설정하거나 게시 할 URL을 form_for에 지정해야합니다.

form_for @invite_request, :url => { :controller => 'application', :action => 'request_invite' } do |form| 
    ... 
+0

Yikes, 그건 아주 간단했습니다. 고맙습니다! 내 routes.rb 파일에 "map.resources invite_request"가 있었고 질문을 게시하기 전에 변경 후 mongrel을 다시 시작했습니다. 하지만 분명히 라우팅/URL 매핑에 뭔가 빠져있었습니다. 그래서 ": url => ..."을 사용했습니다. 바위에. 감사. – jefflunt