我试图通过的link_to通过以下方式发送POST请求:的Rails的link_to发送POST,当您使用方法GET请求:后
link_to 'go to transition', transition_diagnosis_path, method: :post
。
我的DiagnosisController
的行动transition
,但是当我点击链接时,这会发送两个请求,POST和GET。第一个请求成功执行,但最后一个请求将未知参数发送到show
操作,因此会返回错误。
Started POST "/diagnosis/transition" for 127.0.0.1 at 2017-02-08 17:45:32 -0200
Processing by DiagnosisController#transition as HTML
Parameters: {"authenticity_token"=>"XXXXXXXXXXXXX"}
Redirected to http://localhost:3000/analysis
Completed 302 Found in 1126ms (ActiveRecord: 128.0ms)
Started GET "/diagnosis/transition" for 127.0.0.1 at 2017-02-08 17:45:33 -0200
Processing by DiagnosisController#show as HTML
Parameters: {"id"=>"transition"}
Completed 500 Internal Server Error in 975ms (ActiveRecord: 24.8ms)
有谁知道我该怎么办?提前致谢。
UPDATE:
当我试图做到这一点的正常工作
link_to transition_diagnosis_path, method: :post do
button_tag 'go to transition'
end
尝试添加'远程:TRUE'选项,看的出它行为 –
@DamianSimonPeter add'remote:true'保持相同的行为。点击链接继续发送两个请求。 –