我正在尝试为用户创建一个表单,这应该相当简单,但有些事情发生了,我无法弄清楚为什么,让我从路径开始:
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
答案 0 :(得分:1)
尝试使用
= simple_form_for([:admin, @user], validate: true) do |f|