在我用于学习Rails的演示应用中 - 使用模型user
和一个post
,我安装了gem Devise
。我启用了终端上的用户模型设计rails g devise User
,运行rake db:migrate
,重新启动rails s
。
当我第一次使用localhost:3000 / users / sign_up(这是我注册新用户的URL)时,我可以成功创建一个新用户,Devise发出通知flash等等。一切顺利。
当我想自定义sign_up页面的布局时,我的问题就出现了。
然后我继续rails g devise:views
。我可以更改与网址devise/registration/new.html.erb
对应的视图/users/signup
的布局,但页面不再触发任何操作。
我在rails s
中看到/users/sign_up
由devise/registrations#new
处理,但即使我尝试使用不同的电子邮件地址进行注册,也不会再显示任何通知,页面也不会更改,它会总是显示注册表单。
这是代码https://github.com/Adsidera/Indielitblog
如果我的问题看起来很傻,请抱歉,我只是一个初学者...... :(
提前致谢
安娜
答案 0 :(得分:0)
我找到了解决方案。显然,这是由于我添加了一个表单控件html标签,并以某种方式干扰了设计控制器。 将定制仅保留给div容器 - 流体和几个基本的变化解决了这个问题。不管怎样,谢谢!
答案 1 :(得分:0)
刚刚验证了你在html表单标签中有一个form_for,通过删除表单标签解决了问题:
<div class="container-fluid">
<form class="form-signin">
<h2 class="form-signin-heading">Sign up</h2>
<%= form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %>
...
<% end %>
到
<h2 class="form-signin-heading">Sign up</h2>
<%= form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %>
...
<% end %>
如果要将类更改为form_for帮助程序,可以尝试:html => {:class => "foo"}