0

POST メソッドを介してサーブに情報を送信するアクションがあり、リンクを介して電子メールからトリガーする必要があります。

メールテンプレートでこれを試しました:

まず、link_to タグで post メソッドを指定します。

<%= link_to 'click here', action_url(:id => @model.id), :method => 'post' %>

しかし、アクションは GET メソッドでトリガーされ、ルーティング エラーが発生します。

次に、隠しフィールドを持つフォームを使用して実行しますが、csrf トークンが認識されませんでした。

<%= form_tag action_url, :method => 'post' do %>
    <%= hidden_field_tag :id, @model.id %>
    <%= submit_tag 'click here' %>
<% end %>

とにかくこれを行うことはありますか?または、ない場合、私の最良の選択肢は何ですか?

4

1 に答える 1

0

投稿リクエストを作成できなかったため、アクションの get ルートを追加するだけです。

肯定的な部分: 問題なく動作しましたが、複雑ではありません

マイナス部分: パラメータが URL を介して渡されるため、セキュリティのためにいくつかの before_filter メソッドを実装する必要がありました

于 2013-08-01T00:14:43.987 に答える