您好我正在开发我的Ruby on Rails项目,我想自定义设计宝石但我的问题是我似乎无法找到一些关于如何自定义设计的教程,更具体地说是自定义登录,参数。
我已经自定义了设备的登录名和视图,但我的问题是它似乎没有创建用户名,名字,姓名,年龄等等。
它只获取电子邮件和密码等基本内容
我知道文档很棒而且特别是因为它是完整的但我的问题是我发现有点难以特意当我看不到视频或我如何定制我可以放在设计中的内容如果任何人都可以帮助我,或者有些教程的任何信息实际上做了我上面指定的那些会很棒并且真的很感激,并且请我在RoR上有点新,所以我觉得在阅读时有点困难文字,所以我需要一些视频和谢谢!
simplybel@simplybel:~/projects/gamification$ rails c
Loading development environment (Rails 4.1.6)
2.1.2 :001 > User.all
User Load (0.8ms) SELECT "users".* FROM "users"
=> #<ActiveRecord::Relation [#<User id: 7, first_name: nil, last_name: nil, profile_name: nil, email: "pat@yahoo.com", encrypted_password: "$2a$10$xg.HMU2JljnVLls3IX7Go.IfJVLGYSSRePjtDaYS4nE...", reset_password_token: nil, reset_password_sent_at: nil, remember_created_at: nil, sign_in_count: 1, current_sign_in_at: "2014-12-01 23:50:17", last_sign_in_at: "2014-12-01 23:50:17", current_sign_in_ip: "127.0.0.1", last_sign_in_ip: "127.0.0.1", created_at: "2014-12-01 23:50:17", updated_at: "2014-12-01 23:50:17">]>
2.1.2:002&gt;
这是在获得建议后rails控制台返回的内容,这是您可以克隆的代码
https://github.com/sanchez900/gamification.git
这是我执行更改之前的代码,如
class ApplicationController < ActionController::Base
before_action :configure_permitted_parameters, if: :devise_controller?
protected
def configure_permitted_parameters
devise_parameter_sanitizer.for(:sign_up) << :username
end
end
我也做了这个
rails generate devise:views
也做了控制器 rails generate devise:controllers users
做了路线 devise_for:用户,控制器:{sessions:&#34; users / sessions&#34; }
在我进行修改之前,其他一些信息也可能有助于项目克隆/链接
答案 0 :(得分:1)
如果您已正确设置视图以提交所有添加参数,则需要按照文档https://github.com/plataformatec/devise#strong-parameters中的说明进行操作。
您需要在注册表单上更新允许的参数,以接受您需要的新参数。为此,您可以设置一个前置过滤器来为您的设计控制器配置允许的参数。在应用程序控制器中尝试这样的事情。
before_action :configure_permitted_parameters, if: :devise_controller?
def configure_permitted_parameters
devise_parameter_sanitizer.for(:sign_up) { |u| u.permit(:first_name, :last_name, :profile_name) }
end