0

この質問はrouting-filterに関連しています。

私の見解ではこれがあります:

<% form_for :post, :url => {:action => "show"} do |f| %>

これはブラウザで次のように変換されます。

<form action="/en/posts/show" method="post">

I18n.locale例を変更した後

I18n.locale = :en

htmlは次のようになります。

<form action="/en/posts/72" method="post">

アクションが機能しておらず、次のエラーが発生します。

不明なアクション

72に応答したアクションはありません。

もちろん、72のようなアクションはありません。もちろん、この数値はショーアクションの入力です。そして、それは正しい投稿番号です。したがって、このアドレスlocalhost:3000 / en / posts / 72をブラウザに設定すると、問題なくページが表示されます。

では、なぜそれがフォームで機能しないのですか?

ありがとう。

4

1 に答える 1

2

次のようなメソッドを指定します。

<% form_for :goal, :url => { :action => 'show' }, :html => {:method => :put} do |f| %>

それは私のために働いた。

于 2010-01-02T07:37:09.573 に答える