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

我曾尝试将方法从更新更改为创建,但是它会弹出空白表单,我只想能够编辑指定的字段而不必重新创建表单并得到错误。有任何想法吗?

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 回答