2013-05-09 2 views
0

databasedotcom & databasedotcom-rails gem을 사용하여 양식 제출에서 Salesforce 로의 생성을 유도합니다. 내가 부모 아래에서 컨트롤러를 중첩 때까지 독립을 일하고, 내가 제출 누르면 지금은이 경로 오류가 :양식을 제출할 때 중첩 된 컨트롤러의 라우트 오류, databasedotcom-gem

여기
No route matches [POST] "/events/516ee9a0421aa9c44e000001/leads/new" 

내 모든 코드 :

resources :events do 
    resources :leads 
end 

class LeadsController < ApplicationController 
    include Databasedotcom::Rails::Controller 

    def new 
    @lead = Lead.new 
    respond_to do |format| 
    format.html # new.html.erb 
    format.json { render :json => @lead } 
    end 
end 

def create 
    @lead = Lead.new(params[:lead]) 
    @lead.event_id = params[:event_id] 
    @lead['OwnerId'] = '005b0000000WxqE' 
    @lead['IsConverted'] = false 
    @lead['IsUnreadByOwner'] = false 
    respond_to do |format| 
    if @event_lead.save 
    format.html { redirect_to @lead, :notice => 'Lead was successfully created.' } 
    format.json { render :json => @lead, :status => :created, :location => @lead } 
    else 
    format.html { render :action => "new" } 
    format.json { render :json => @lead.errors, :status => :unprocessable_entity } 
    end 
    end 
    end 
end 

<%= simple_form_for [@event, @lead], url: new_event_lead_path do |f| %> 
    <%= f.input :Download_Brochure__c, :check => "true", :as => :boolean, :as => :hidden %> 
    <%= f.input :FirstName %> 
    <%= f.input :LastName %> 
    <%= f.input :Company %> 
    <p>Also interested in:</p> 
    <%= f.input :Sponsor_Request__c, :as => :boolean, :label => "Sponsoring" %> 
    <%= f.input :Presenting__c, :as => :boolean, :label => "Presenting" %> 
    <%= f.input :Newsletter_Signup__c, :as => :boolean, :label => "Newletter" %> 
    <%= f.input :Privacy_Policy__c, :as => :boolean, :checked => true, :label => "Would you like to stay updated" %> 
    <%= f.button :submit, :label => "Submit" %> 
<% end %> 

답변

0

문제는에 당신의 형태. 자신이 작성한대로 경로를 사용하면 new_event_lead_pathLeadsController#new 액션에 대한 GET 요청에 매핑됩니다. 명령 행에서 rake routes을 실행하여이를 확인하십시오.

LeadsController#create에 양식을 제출하고 싶습니다. URL을 덮어 쓰지 않는다면, simple_form_for [@event, @lead] 표현에서 Lead의 새 인스턴스를 사용할 때 Rails가이를 설정합니다. 따라서 양식을 업데이트하십시오 :

<%= simple_form_for [@event, @lead] do |f| %> 
관련 문제