Rails编辑表单错误

时间:2014-01-27 18:14:50

标签: ruby-on-rails

我正在尝试为用户创建一个表单,这应该相当简单,但有些事情发生了,我无法弄清楚为什么,让我从路径开始:

namespace :admin do
    resources :users, :only => [:show, :index, :edit, :update] do
      collection do
        get :archived
      end
    end
end

编辑表格:

= simple_form_for(@user, validate: true) do |f| 
  = render 'fields', f: f, object: @user
  .actions
    = f.submit t('general.save_changes'), class: "btn btn-large btn-primary"
    or
    = link_to t('general.cancel'), redirect_back

只有一个字段的字段:

= render 'shared/error_messages', object: object

.form-group
  .row
    = f.input :created_at

用户控制器:

def edit
  @user = User.find(params[:id])
  ap "ppp #{@user.inspect}"
end

def update
  ap "hereee"
end

当我点击链接以编辑特定用户时,即

http://localhost:5000/admin/users/1/edit

我收到此错误消息:

NoMethodError at /admin/users/1/edit
undefined method `user_path' for #<#<Class:0x000000098a7100>:0x00000008eb1cb8>

我不知道我在这里做错了什么。我试过重启rails服务器,但同样的事情发生了。我还能做些什么,我现在已经研究了一段时间了吗?

以下是佣金路线:

archived_admin_users GET    /admin/users/archived(.:format)                              admin/users#archived
admin_users GET    /admin/users(.:format)                                      admin/users#index
edit_admin_user GET    /admin/users/:id/edit(.:format)                             admin/users#edit
admin_user GET    /admin/users/:id(.:format)                                  admin/users#show 
           PUT    /admin/users/:id(.:format)                                  admin/users#update

1 个答案:

答案 0 :(得分:1)

尝试使用

= simple_form_for([:admin, @user], validate: true) do |f|