0

button_to単一の属性を更新するを作成しようとしていますが、ルーティング エラーが発生します。コードは次のとおりです。

<%= button_to 'update', :action => 'update', :controller => 'users', :form => {:user => current_user, :share_articles_on_facebook => true} %>

そしてエラー:

No route matches {:action=>"update", :controller=>"users", :form=>{:user=>#<User id: 3, ema....

明示的に追加し:methodても問題は解決しませんでした。ルートは次のとおりです。

    users GET    /users(.:format)    {:action=>"index", :controller=>"users"}
          POST   /users(.:format)        {:action=>"create", :controller=>"users"}
 new_user GET    /users/new(.:format)    {:action=>"new", :controller=>"users"}
edit_user GET    /users/:id/edit(.:format)      {:action=>"edit", :controller=>"users"}
     user GET    /users/:id(.:format)  {:action=>"show", :controller=>"users"}
          PUT    /users/:id(.:format)    {:action=>"update", :controller=>"users"}
4

2 に答える 2

0

だから、単純な間違い。:id明らかに、要素が必要でした。

于 2012-05-02T17:17:50.893 に答える
0

私は同様の問題に遭遇したと思います。私の場合、 に変更button_toしましたlink_to。私の知る限り、ボタンを介してアクションを実行することはできませんでした。リンクを作成し、ボタンとしてスタイル設定しました。

于 2012-05-03T01:22:13.237 に答える