Javascript Rails补丁方法代替POST
我有以下代码Javascript Rails补丁方法代替POST,javascript,ruby-on-rails,ruby-on-rails-4,patch,Javascript,Ruby On Rails,Ruby On Rails 4,Patch,我有以下代码 <%= form_for @campaign, url: brands_campaign_path(@campaign), method: :patch, :html => {:multipart => true, :class => 'form-horizontal'} do |f| %> 日志 brands_campaigns GET /campaigns(.:format)
<%= form_for @campaign, url: brands_campaign_path(@campaign), method: :patch, :html => {:multipart => true, :class => 'form-horizontal'} do |f| %>
日志
brands_campaigns GET /campaigns(.:format) brands/campaigns#index {:subdomain=>"brands"}
POST /campaigns(.:format) brands/campaigns#create {:subdomain=>"brands"}
new_brands_campaign GET /campaigns/new(.:format) brands/campaigns#new {:subdomain=>"brands"}
edit_brands_campaign GET /campaigns/:id/edit(.:format) brands/campaigns#edit {:subdomain=>"brands"}
brands_campaign GET /campaigns/:id(.:format) brands/campaigns#show {:subdomain=>"brands"}
PATCH /campaigns/:id(.:format) brands/campaigns#update {:subdomain=>"brands"}
PUT /campaigns/:id(.:format) brands/campaigns#update {:subdomain=>"brands"}
DELETE /campaigns/:id(.:format) brands/campaigns#destroy {:subdomain=>"brands"}
brands_campaigns_posts GET /campaigns/:id/posts(.:format) brands/campaigns#posts {:subdomain=>"brands"}
brands_campaigns_details GET /campaigns/:id/details(.:format) brands/campaigns#details {:subdomain=>"brands"}
brands_campaigns_influencers GET /campaigns/:id/influencers(.:format) brands/campaigns#influencers {:subdomain=>"brands"}
brands_campaigns_submit_for_approval GET /campaigns/:id/submit_for_approval(.:format) brands/campaigns#submit_for_approval {:subdomain=>"brands"}
brands_campaigns_pending_to_draft GET /campaigns/:id/pending_to_draft(.:format) brands/campaigns#pending_to_draft {:subdomain=>"brands"}
brands_campaigns_cancel GET /campaigns/:id/cancel(.:format) brands/campaigns#cancel {:subdomain=>"brands"}
brands_campaigns_add_credits GET /campaigns/:id/add_credits(.:format) brands/campaigns#add_credits {:subdomain=>"brands"}
ActionController::RoutingError(没有与[POST]匹配的路由“/campaigns/testing/edit”):actionpack(4.2.5.2)
lib/action\u dispatch/middleware/debug\u exceptions.rb:21:in'call'滚动条(2.14.0)
lib/rollbar/middleware/rails/show_exceptions.rb:22:in'call_with_rollbar'web控制台(2.3.0)
lib/web_console/middleware.rb:20:in'block in call'web控制台(2.3.0)
lib/web_console/middleware.rb:18:in'catch'web控制台(2.3.0)
lib/web_console/middleware.rb:18:in'call'actionpack(4.2.5.2)
lib/action\u dispatch/middleware/show\u exceptions.rb:30:in‘call’railties(4.2.5.2)
lib/rails/rack/logger.rb:38:in'call_app'导轨(4.2.5.2)
lib/rails/rack/logger.rb:20:in'block-in-call'activesupport(4.2.5.2)
lib/active_support/tagged_logging.rb:68:in'block in tagged'activesupport(4.2.5.2)
lib/active_support/tagged_logging.rb:26:in'tagged'activesupport(4.2.5.2)
lib/active_support/taged_logging.rb:68:in“taged”铁路(4.2.5.2)
lib/rails/rack/logger.rb:20:in‘call’actionpack(4.2.5.2)
lib/action\u dispatch/middleware/request\u id.rb:21:in'call'框架(1.6.5)
lib/rack/methodoverride.rb:22:in'call'框架(1.6.5)
lib/rack/runtime.rb:18:in'call'activesupport(4.2.5.2)
lib/active\u support/cache/strategy/local\u cache\u middleware.rb:28:in'call'框架(1.6.5)
lib/rack/lock.rb:17:in'call'actionpack(4.2.5.2)
lib/action\u dispatch/middleware/static.rb:116:in'call'框架(1.6.5)
lib/rack/sendfile.rb:113:in'call'铁路(4.2.5.2)
lib/rails/engine.rb:518:in‘call’railties(4.2.5.2)
lib/rails/application.rb:165:in'call'框架(1.6.5)
lib/rack/tempfile_reaper.rb:15:in'call'机架(1.6.5)
lib/rack/lint.rb:49:in``调用'机架(1.6.5)
lib/rack/lint.rb:37:in'call'机架(1.6.5)
lib/rack/showexceptions.rb:24:in'call'机架(1.6.5)
lib/rack/commonlogger.rb:33:in'call'sinatra(1.4.7)
lib/sinatra/base.rb:219:in'call'机架(1.6.5)
lib/rack/chunked.rb:54:in'call'框架(1.6.5)
lib/rack/content_length.rb:15:in'call'unicorn(5.2.0)
lib/unicorn/http_server.rb:562:in'process_client'unicorn(5.2.0)
lib/unicorn/http_server.rb:658:in'worker_loop'unicorn(5.2.0)
lib/unicorn/http_server.rb:508:in'spawn_missing_workers'unicorn(5.2.0)
lib/unicorn/http_server.rb:132:in'start'unicorn(5.2.0)
垃圾箱/独角兽:126:in`'
/usr/local/rvm/gems/ruby-2.3.1/bin/unicorn:23:in'load'
/usr/local/rvm/gems/ruby-2.3.1/bin/unicorn:23:in`'
/usr/local/rvm/gems/ruby-2.3。1@global/bin/ruby可执行文件挂钩:15:in'eval'
/usr/local/rvm/gems/ruby-2.3。1@global/bin/ruby\u可执行文件\u挂钩:15:in`'
它在Firefox上应该点击什么路径
Started PATCH "/campaigns/testing" for 106.51.30.182 at 2017-02-06 11:18:02 -0500
从文件中: 提交表单时使用的方法,通常为“get”或“get” “职位”。如果使用“patch”、“put”、“delete”或其他动词,则隐藏 添加带有name_方法的输入,以模拟post上的动词 资料来源: 如您问题中的片段所示
模拟
补丁
方法在发布
上,如前所述,它在Chrome和Safari中的工作方式不正常。你能发布/bin/rake路由| grep-i活动
的输出吗?@swan并对其进行了更新:)你所说的“我收到发布请求”是什么意思?正如@Alfie在下面指出的,这正是应该发生的事情。你的意思是它正在发送发布/活动(:format)
路由而不是补丁/活动/:id(:format)
路由,所以你认为它忽略了隐藏的\u方法
值?@Jordan是的,它正在以发布而不是补丁的方式命中服务器!JS文件存在,我进行了交叉检查。另外,表单的所有隐藏字段都正确呈现。@Jordan这个问题也出现在Chrome和Safari中。在Firefox上运行良好:(
Started PATCH "/campaigns/testing" for 106.51.30.182 at 2017-02-06 11:18:02 -0500