jquery - 如何使用 Ajax、Rails 3 和 Devise 创建注册表单?

标签 jquery ruby-on-rails-3 devise

我开始在一个项目中使用 Devise,但我有点失望,因为一切都在 Devise Gem 深处的某个地方硬连线。我发现创建自定义注册或登录流程非常困难。

我想做的是在我的网站上的任何位置显示一个简单的注册表单(解决方案在这里找到: http://pupeno.com/2010/08/29/show-a-devise-log-in-form-in-another-page/ )并使用 jQuery.post 提交它,检索结果,更新错误消息,最后注册用户.

我没有在任何地方找到这个记录。当我以这种方式提交表单时,我发现一个异常,提示缺少模板。如果我可以自定义 Controller 和操作并自己完成所有事情,那就容易多了。

有没有人有解决方案、链接、博客文章等可以帮助我?谢谢!

最佳答案

您可以在 Devise 中完全自定义每个 Controller 。您需要做的就是创建 Controller 并让它从 Devise Controller 继承,如下所示:

class RegistrationsController < Devise::RegistrationsController

然后您可以覆盖该方法中的任何操作。您可以通过检查Github来查看所有默认方法。考虑每个 Controller 的方法。任何您想要保留默认值的方法都可以省略,或者只在方法中调用 super。

def new
  super
end

我经常发现我需要以这种方式自定义 Devise 以满足我的需求。至于您的 View 需求,您可以通过 rails g devise:views 安装 Devise View ,然后将它们复制到应用程序中您想要的任何位置。

最后,我会检查 Devise wiki 的 Github 页面。有大量有用的示例,介绍如何使 Devise 符合您的意愿,当然,社区会随时为您提供帮助。

关于jquery - 如何使用 Ajax、Rails 3 和 Devise 创建注册表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7829694/

相关文章:

jquery - 如何在用户控件中运行ClientScript?

javascript - 如何实现自定义 jqGrid 删除按钮?

ruby-on-rails - schema.rb 索引与单个迁移索引不同

ruby-on-rails - Rails - 如何在用户登录时覆盖设计 SessionsController 以执行特定任务?

android - 如何让 Rails 告诉移动应用程序用户是否登录?

javascript - 动态添加选项

JavaScript 或 jQuery 文件具有相同的脚本不同的地方它的不同

ruby-on-rails - 销毁后从重新创建用户模型创建数据库时出错

javascript - Rails Assets 管道 : JavaScript being executed twice

ruby-on-rails - 如何通过设计和更新绕过辞职