我已就此发布了一些相关问题,但现在我处于路障状态。我有这个系统工作得很好,然后我去添加它,现在我打破它真的很好!
首先我刚发现Gist,所以这里是我的代码:
https://gist.github.com/jasper502/065a63fde266fac1fbf5
这里的想法是我有一个用户登录,最终可以通过角色绑定到多个公司。
您通过自定义/注册路线上的Devise注册并填写公司信息等。自定义注册控制器在用户创建期间创建角色并设置一些其他属性。
当我尝试创建新用户/公司时,其他用户字段(name_first& name_last)始终无法通过验证,无论它们实际上是否有效。嵌套的公司字段根本不进行验证。如果我输入电子邮件和密码字段,则只有表单有效,但只创建用户记录。
对我而言,似乎根本没有处理自定义注册控制器,因为它似乎不想允许我在sign_up_params中指定的其他参数。
在试错的基础上,我尝试了这个:
devise_for :users, :skip => [:sessions], :controllers => { :registrations => 'users/registrations', :sessions => 'users/sessions' }
as :user do
get '/signin' => 'devise/sessions#new', :as => :new_user_session
post '/signin' => 'devise/sessions#create', :as => :user_session
delete '/signout' => 'devise/sessions#destroy', :as => :destroy_user_session
end
我想看看正常的Devise路由是否有效,但是现在看起来验证似乎完全被绕过了。如果我提交一份空白表格,我会收到各种错误,但如果我填写它,它现在工作正常。我越来越近,但显然在这里缺少一些小东西。
所以澄清一下:
答案 0 :(得分:0)
我将路线从“设计/ ......”切换到“用户/ ...”,这似乎就是这个。
希望这有助于其他人。