在Ruby on Rails上为Devise设置不同的用户模型和注册路径

我对ruby很新,我几个月来一直在苦苦挣扎。 我广泛搜索并尝试了答案,但仍然没有运气。 (我尝试了使用Ruby On Rails的多个用户模型,并设计了单独的注册路由,但是一条常用的登录路由但没有工作) 我目前有一个user.rb模型,它连接到设计和工作正常。 1-在注册页面上,我希望有3个按钮,这些按钮将导致单独的注册表单(业务,经理和现有用户各一个)。 我是否在routes.rb中进行了设置? 2-表单将具有不同的属性,这些属性将填充其各自的数据库。 3-表格填写完毕后,他们将被引导至各自的路线。 用户到业务仪表板和经理到管理器仪表板时的当前默认路由。 这又是在routes.rb或devise中吗? 我非常感谢任何指导! 我已经阅读了关于设计,康康和rolify的文档,但我似乎无法将它们全部集中在一起为我工作。 我对ruby很新,我几个月来一直在苦苦挣扎。 我广泛搜索并尝试了答案,但仍然没有运气。 (我尝试了使用Ruby On Rails的多个用户模型,并设计了单独的注册路由,但是一条常用的登录路由但没有工作) 我目前有一个user.rb模型,它连接到设计和工作正常。 1-在注册页面上,我希望有3个按钮,这些按钮将导致单独的注册表单(业务,经理和现有用户各一个)。 我是否在routes.rb中进行了设置? 2-表单将具有不同的属性,这些属性将填充其各自的数据库。 3-表格填写完毕后,他们将被引导至各自的路线。 用户到业务仪表板和经理到管理器仪表板时的当前默认路由。 这又是在routes.rb或devise中吗? 我非常感谢任何指导! 我已经阅读了关于设计,康康和rolify的文档,但我似乎无法将它们全部集中在一起为我工作。 #user.rb class User TEMP_EMAIL_REGEX, on: :update def admin? has_role?(:admin) end def self.find_for_oauth(auth, signed_in_resource = nil) # Get the identity and user if they exist identity = Identity.find_for_oauth(auth) […]

jQuery-UI Sortable Connected-Lists保存订单并与rails模型关联

让我们说:我有一个’调查’,有很多’问题’,有很多’答案’ 如果我有一个’调查’有2个’问题’的实例,那就叫它们:’好问题’和’坏问题’ ‘好问题’有5’答案’和’不良问题’有3’答案’ 如果“好问题”和“错误问题”通过此jQuery-UI交互连接可排序列表。 http://jqueryui.com/sortable/#connect-lists 我知道如何使用jQuery-UI将它们显示为2个可排序列表,我也可以从“不良问题”中删除“答案”到“好问题”。 但是,如何将新的排序位置和新排序的关联保存到另一个“问题”回到Rails数据库? Railscasts如何为单个可排序列表保存位置,但不保存属于不同关联模型的列表。 http://railscasts.com/episodes/147-sortable-lists-revised 我非常感谢这里的帮助! 编辑 我意识到我只需要POST到Rails控制器,列表的元素id,我将’Answer’放入(即<ol class = "connectableSortable" id = "Good_Question" ) 这是Railscast如何对Rails控制器执行POST以按可排序顺序传递object_id数组的语法。 jQuery -> $(‘#faqs’).sortable( axis: ‘y’ update: -> $.post($(this).data(‘update-url’), $(this).sortable(‘serialize’)) ) 如何更新此POST以将列表ID传递给它,因此我可以更新“问题”外键,将“答案”更新为它所属的列表“ID”? 这个SO答案有一种方法来检索列表ID。 获取放置元素的项/对象 所以现在,我真的只需要知道如何将额外的参数传递回rails控制器。 有帮助吗?

在Ruby中声明变量?

我何时知道何时声明变量而不是Ruby? 我想知道为什么第一个代码需要输入声明为字符串并且在块之外,而第二个块则不需要。 input = ” while input != ‘bye’ puts input input = gets.chomp end puts ‘Come again soon!’ 与: while true input = gets.chomp puts input if input == ‘bye’ break end end puts ‘Come again soon!’

带有Devise的Rails 3.1中的嵌套注册数据

再次问好,stackoverflow社区! 我正在研究在Rails中编写一个简单的博客系统,我正在使用Devise作为身份validation部分。 我得到了基本的电子邮件/密码注册,现在我已经建立了一个一对一的users表(由设计生成的基本表)和一个UserData表,包含用户名,权限,关于, 等等。 这很简单 – 用户表是100%设计vanilla,并且has_one UserData。 Userdata属于用户。 我尝试扩展Devise生成的注册表单,这样它就可以让用户输入,而不仅仅是他的电子邮件和密码,还有他想要的用户名。 这样,当表单将被发送时,如果表单字段的名称是正确的(嵌套哈希的正确结构,例如用户电子邮件的“email”)和用户所需名称的“UserData [name]” ),新用户将自动创建,并且Rails也会自动创建正确的相应UserData条目,对吗? 现在,我有一个巨大的问题,UserData [name]字段根本没有出现…这是我遇到问题的文件… new.html.erb resource_name, :url => registration_path(resource_name)) do |f| %> #This is the tidbit that doesn’t work “devise/shared/links” %> 我一直在寻找一个小时和几小时的答案,但无济于事。 如果我故意拼错fields_for块中的“UserData”一词,它会打印出该字段。 这很奇怪,我不知道是什么让这个领域消失了…… 我真的很感激一点帮助! 谢谢你的时间! 🙂 编辑1 + 2: 经过几次搞乱之后,我已经覆盖了设计的默认注册控制器并创建了自己的注册控制器。 我已经编辑了设计路由来调用我的自定义控制器作为timbrandes建议,但我似乎无法访问我的控制器中的@user。 这是我到目前为止的代码…… class RegistrationsController < Devise::RegistrationsController def new resource = build_resource({}) resource.UserData = […]

如何在Chef-repo中的Chef cookbook之间共享代码?

我想在厨师回购中分享一些食谱方法。 我知道在菜谱级别上我可以将代码放在libraries目录中的模块中(参见相关问题 )。 我正在寻找的是类似的东西,但可以在我的厨师仓库的所有食谱中找到。 我能想到几个解决方案: 创建一个gem,安装gem作为Chef run的一部分。 这似乎有点矫枉过正。 将文件放在某个文件夹中,并将该文件夹添加到配方文件中的$LOAD_PATH 。 我有一种感觉不适用于实际部署,因为厨师服务器对回购没有任何了解。 将文件放在某个文件夹中,并将其符号链接到每个cookbook的libraries目录中。 最后一个选项似乎是最可行的。 有没有更好/更惯用的方式来做我想要的?

历史不节约

为什么我的irb历史不再存储?

在rspec中描述vs context。 区别在哪里?

我已经阅读了一些关于如何组织rspec代码的内容。 似乎“上下文”更多地用于对象的状态。 用你的话来说,你如何描述如何在rspec代码中使用“describe”? 这是我的movie_spec.rb代码的片段: require_relative ‘movie’ describe Movie do before do @initial_rank = 10 @movie = Movie.new(“goonies”, @initial_rank) end it “has a capitalied title” do expect(@movie.title) == “Goonies” end it “has a string representation” do expect(@movie.to_s).to eq(“Goonies has a rank of 10”) end it “decreases rank by 1 when given a thumbs down” do @movie.thumbs_down […]

如何使用Ruby 1.9检测字符串是否仅包含拉丁符号?

我需要检测一些字符串是否包含非拉丁字母表中的符号。 数字和特殊符号如- , _ , +都很好。 我需要知道是否有任何非拉丁符号。 例如: “123sdjjsf-4KSD”.just_latin? 应该回归true 。 “12333ыц4–sdf”.just_latin? 应该返回false 。

得到十进制数的小数部分

我试图在rails中获得十进制数的一小部分。 例如,我有一个数字,“1.23”,我想得到“23”这可能太容易但是,有没有人知道我该怎么办?

在新的RHEL6服务器上安装ruby-filemagic gem时遇到困难

它似乎在寻找libmagic.so.1文件。 我有那个档案。 它位于/ usr / lib64中。 我没有以root用户身份运行此安装。 我也在使用rvm和Bundler。 这是我的“bundle”命令的结果,当它到达我的Gemfile中的ruby-filemagic行时: [server@mine ext]$ ruby extconf.rb –with-magiclib checking for magic_open() in -ltrue… no *** ERROR: missing required library to compile this module *** extconf.rb failed *** Could not create Makefile due to some reason, probably lack of necessary libraries and/or headers. Check the mkmf.log file for more details. […]