Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 3 提交表单databasedotcom gem时在嵌套控制器上路由错误_Ruby On Rails 3_Salesforce_Databasedotcom Gem - Fatal编程技术网

Ruby on rails 3 提交表单databasedotcom gem时在嵌套控制器上路由错误

Ruby on rails 3 提交表单databasedotcom gem时在嵌套控制器上路由错误,ruby-on-rails-3,salesforce,databasedotcom-gem,Ruby On Rails 3,Salesforce,Databasedotcom Gem,我正在使用databasedotcom&databasedotcomrailsgem,以便从表单提交中生成销售线索。在我将控制器嵌套在父控制器下之前,它一直是独立工作的,现在当我按submit时,出现以下错误: No route matches [POST] "/events/516ee9a0421aa9c44e000001/leads/new" 以下是我的全部代码: resources :events do resources :leads end class LeadsControl

我正在使用databasedotcom&databasedotcomrailsgem,以便从表单提交中生成销售线索。在我将控制器嵌套在父控制器下之前,它一直是独立工作的,现在当我按submit时,出现以下错误:

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 %>
resources:events-do
资源:潜在客户
结束
类领导控制器<应用程序控制器
包括Databasedotcom::Rails::Controller
def新
@铅=铅
回应待办事项|格式|
format.html#new.html.erb
format.json{render:json=>@lead}
结束
结束
def创建
@lead=lead.new(参数[:lead])
@lead.event_id=参数[:event_id]
@lead['OwnerId']=“005b0000000WxqE”
@铅['IsConverted']=假
@lead['IsUnreadByOwner']=false
回应待办事项|格式|
如果@event\u lead.save
format.html{redirect_to@lead,:notice=>“lead已成功创建”。}
format.json{render:json=>@lead,:status=>:created,:location=>@lead}
其他的
format.html{render:action=>“new”}
format.json{render:json=>@lead.errors,:status=>:unprocessable_entity}
结束
结束
结束
结束
“true”,:as=>:boolean,:as=>:hidden%>
还对以下方面感兴趣:

:boolean,:label=>“赞助”%> :boolean,:label=>“呈现”%> :boolean,:label=>“Newletter”%> :boolean,:checked=>true,:label=>“您想保持更新吗”%> “提交”%>
问题出在你的表格上。使用您编写的路由,
new\u事件\u lead\u路径
映射到您的
LeadsController#new
操作的GET请求。在命令行上运行
rake routes
,以确认这一点

您想将表单提交给
LeadsController\create
。当您在[@event,@Lead]的表达式
simple\u form_中使用
Lead
的新实例时,Rails将为您设置此选项,前提是您不重写url。因此,请更新您的表格:

<%= simple_form_for [@event, @lead] do |f| %>