0
この質問はルーティングフィルタに関連しています。ruby on rails/routing-filter/form_for変更html
私は、私の見解では、これを持っている:例えばI18n.locale
を変更した後
<form action="/en/posts/show" method="post">
:これにブラウザに変換
<% form_for :post, :url => {:action => "show"} do |f| %>
I18n.locale = :en
HTMLは次のようになります。
<form action="/en/posts/72" method="post">
とアクションが動作していないと、私はこのエラーを取得:
Unknown action
No action responded to 72.
確かに、この数字は72のようなアクションはありませんアクションの入力を示すそして正しいポスト番号です。したがって、このアドレスlocalhost:3000/en/posts/72をブラウザに置くと、問題なくページが表示されます。
なぜそれがフォームでは機能しないのですか?
ありがとうございました。
<% form_for :goal, :url => { :action => 'show' }, :html => {:method => :put} do |f| %>
それは私の仕事:
あなたはなぜショーのアクションに投稿していますか? – askegg
どうしてですか? 足場からのデフォルトのショーアクションのコードは、 @post = Post.find(params [:id]、... )ですので、IDを正しく取得する必要がありますか? – valk
POSTは、オブジェクトを更新するためにデータを送信することを意味します。表示するオブジェクトとGET要求が十分であり、RESTfulです。 – askegg