2017-02-11 38 views
0

當用戶點擊「開始」時,我們如何防止POST,而不是GET link_to next_challenge_path(challenge: {name: @challenge.name})如何使用移動鍵盤「開始」取代POST?

_form

<%= f.text_field :name %> 
<%= link_to next_challenge_path(challenge: {name: @challenge.name}), id: "challenge-button" do %> 
    Save 
<% end %> 

<script> 
    $("#challenge-button").click(function() { 
    $(this).attr("href", function() { 
     return this.href + $('.form-control').val(); 
    }); 
    }); 
</script> 

enter image description here

日誌

2017-02-11T11:27:24.259207+00:00 app[web.1]: Started POST "/challenges" for 110.171.153.192 at 2017-02-11 11:27:24 +0000 
2017-02-11T11:27:24.261219+00:00 app[web.1]: Processing by ChallengesController#create as HTML 
2017-02-11T11:27:24.261272+00:00 app[web.1]: Parameters: {"utf8"=>"✓", "authenticity_token"=>"ozneOQJPp3f91TrRdxUyc02iw7VSBdQ1iMRGhpnDq8KBPHwj4QUTiXrjMTCDy+9XtKatffpexzLKYTV4P8V+lDQ==", "challenge"=>{"name"=>"Test"}} 
2017-02-11T11:27:24.272414+00:00 app[web.1]: Redirected to http://www.livetochallenge.com/signup 

我使用link_to因爲我希望用戶填寫更多的屬性上next_challenge_path能夠前提交。

回答

0

好吧,我想它怎麼樣。

JavaScript不是最好的解決方案。

而是我可以使用控制器create的操作。添加一個條件,該條件說明屬性是否爲nil,然後redirect_to到next_challenge_path

0

有一個提交按鈕的頁面上,按下時

看看這個環節有走按鈕,將自動觸發它的兩個可能的解決方案 1.要禁用Go按鈕 2.或者禁用表單提交動作

How can I prevent the Go button on iPad/iPhone from posting the form

+0

頁面上沒有「提交」按鈕。 –

+0

使用我提供的代碼,您將如何觸發GET而不是POST? –

+0

是否有沒有其他按鈕的行動提交頁面上? –