1

ビューに、最初のフォームとは別のフォームフィールドがあります。アプリケーションを使用している人が、フォーム全体をプルアップすることなく、単一のフィールドを編集できるようにしたいと思います。私のコードは次のとおりです

     <%= form_for :user, :url => {:controller => 'users', :action => 'update' } do |f| %>
          <%= f.text_field :barcode %>
          <%= submit_tag 'Register' %>
     <% end %>

指定されたフォームフィールドに変更を送信しようとすると、私が信じているcreateメソッドでエラーが発生します。適切なIDのユーザーコントローラーにリダイレクトされますが、次のエラーが発生します。

 Unknown action
 The action '1' could not be found for UsersController

メソッドをupdateからcreateに変更しようとしましたが、空白のフォームが表示されます。フォームを再作成してエラーが発生することなく、指定したフィールドを編集できるようにしたいだけです。何か案は?

4

2 に答える 2

4

ユーザーオブジェクトをフォームに渡していない。ルートによって生成されたパスヘルパーも使用してみてください。

     <%= form_for @user, :url => user_path(@user) do |f| %>
于 2012-05-20T22:06:54.763 に答える
1
 <%= form_for(@user), :url => url_for(:controller => 'users', :action => 'update') do |f| %>
     <%= f.text_field :barcode %>
     <%= f.submit, 'Register' %>
 <% end %>

今は動作するはずです...

于 2012-05-20T22:15:38.670 に答える