10

私が理解していることからlink_to、 get メソッドにbutton_to使用され、 post メソッドに使用されます。

一方、HTML5 のセマンティクスで<button>は、 はあらゆるタイプのクリック可能なボタンに使用されるとのことでした。ユーザーをフォームに送信して入力するクリック可能なボタンがある場合、またはを作成するbutton_to必要がありlink_toますか?

4

4 に答える 4

17

あなたが考えるのは簡単です。そのメソッドは Rails ヘルパーであり、haml とは何の関係もありません。はい、1 つのメソッドは get メソッド用で、別のメソッドは post メソッド用です。コントローラーにデータを送信する必要がある場合は、使用しますbutton_to(たとえば、レコードを削除する場合)。そうでなければ、link_to十分です。

さらに、パラメータlink_toを使用して投稿データを作成できます。:method

= link_to "Something", some_path, :method => :post

質問に答えるには、 を使用しますlink_to

于 2012-04-29T17:49:07.217 に答える
3

記事などのリソースにユーザーを誘導するには、リンクを使用する必要があります。

ただし、ボタンを使用してアクションを指す傾向があります (編集ページの「作成」/「送信」など)。これがあなたのインターフェイスに合わない場合 -- リンクのようにスタイルを設定してください。

理由は次のとおりです。ユーザーが JavaScript をサポートしていない場合、ユーザーに GET 以外のアクションを指示することはできません。link_toしたがって、この場合、送信/破棄アクションをトリガーする唯一のオプションはボタンです。

あなたの場合のように、リンクが最終的にリソースの変更につながるページ (フォームを表示する編集/作成ページへのリンク/ボタン) を指している場合は、両方のアプローチを自由に使用してください。

于 2012-04-29T18:37:22.937 に答える
2

単純にユーザーをどこかに送りたい場合は get リクエストです。したがって、この場合は link_to を使用する必要があります。ちなみに、:method を指定すれば、post リクエストやその他のリクエスト (button_to も同様) に link_to を使用できます。例えば:=link_to "some path", some_path, :method => :get

于 2012-04-29T17:50:23.223 に答える