我正在发布在Heroku上运行的RoR应用程序,并且一直在添加所有客户。一切都很好,但是我不能添加一些客户,因为它引发了500错误,我说:“ ActionView :: Template :: Error(没有路由与{:action =>” edit“,:controller => “ account_activations”,:email =>“ customer@customer.com”,:id => nil},可能存在无法匹配的约束:[:id]):“,我几乎可以添加所有这些约束。 发生什么事了?
这是我正在创建的客户控制器:
def create
@client = Client.new(client_params)
if @client.save
newUser = @client.create_user(name: @client.name,
email: @client.email,
password: "PASSWORD",
password_confirmation: "PASSWORD",
role: "client")
newUser.send_activation_email
redirect_to root_url
else
render 'new'
end
end
答案 0 :(得分:0)
发现错误。通过客户验证,我的名称长度为255,而在用户验证中,我的名称长度为50。一些客户的名称长度超过50个字符。在我的控制器中,我只是使用if语句验证是否保存了客户端,但没有保存用户。用户无法按照@mikej的指示进行创建,因此我将用户名验证长度也更改为255,现在可以使用了。 谢谢!