繁体   English   中英

为什么我会收到500错误,但无法理解原因,因为路线和控制器存在于导轨中

[英]Why am I getting a 500 error but cannot understand why because the route and controller exists in rails

这是我的路线:

map.skip_contact_postalcard 'contacts/:contact_id/postalcards/:postalcard_id/skip', 
                      :controller => 'contact_postalcards', :action => 'skip' 

这是我的ContactPostalcardsController控制器:

  def skip

    @contact_postalcard = ContactPostalcard.new(params[:contact_postalcard])
    @contact_postalcard.contact_id = params[:contact_id]
    @contact_postalcard.postalcard_id = params[:postalcard_id]

    @contact_postalcard.status = "skipped"
    @contact_postalcard.date_sent = Date.today
    @contact_postalcard.date_created = Date.today

    if @contact_postalcard.save
      render :text => 'This email was skipped!'

    end
  end 

我调用它的方式是通过Rails中的remote_link,但是即使直接访问它,仍然会遇到问题。

好像您缺少斜线。 尝试这个:

map.skip_contact_postalcard '/contacts/:contact_id/postalcards/:postalcard_id/skip', 
                  :controller => 'contact_postalcards', :action => 'skip'

另外,在命令行上运行“ rake route”,以确保您的路由确实正确注册。

我认为500错误原因是remote_link方法,我阅读了您的代码,然后请求发布。 您尝试将fllow代码添加到您的控制器:

protect_from_forgery :except => :skip

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM