我在rails 4项目中安装了活动的admin gem。效果很好......
但是列'First name'和'Last name'是空的 - 列在那里,但它们是空的。当一个人注册我的应用程序并设计他们必须填写的字段时:
first name
second name
email
password
confirm password
电子邮件和密码列显示在我的活动管理员中,相关的用户详细信息列在这些列中,但没有名字和名字。有关如何将此信息显示在管理员方面的任何想法?
仔细观察,我认为我的问题更根深蒂固。在Rails控制台中,当我执行User.last时,我得到:
User Load (0.6ms) SELECT `users`.* FROM `users` ORDER BY `users`.`id` ASC LIMIT 1
=> #<User id: 3, email: "jimcollins@gmail.com", encrypted_password: "$2a$10$mOSzzXy1SZxQ1gVQbUqG9uQsam0YnaiLzXOJYne3aI58...", reset_password_token: nil, reset_password_sent_at: nil, remember_created_at: nil, sign_in_count: 2, current_sign_in_at: "2014-03-03 13:16:10", last_sign_in_at: "2014-03-03 13:12:16", current_sign_in_ip: "127.0.0.1", last_sign_in_ip: "127.0.0.1", created_at: "2014-03-03 13:12:16", updated_at: "2014-03-03 13:17:07", first_name: nil, last_name: nil, provider: nil, uid: nil, name: nil, oauth_token: nil, oauth_expires_at: nil>
2.0.0p247 :003 >
所以first_name和last_name是'nil'。我应该在哪里设置这些值?对不起,Rails的初学者......
答案 0 :(得分:1)
如果没有在ActiveAdmin寄存器中看到任何代码,很难确定问题是什么。如果用户在表单字段中输入此信息,但未保存,则很可能是Rails 4强参数的问题。如果用户注册,则可能存在您不允许该表单控制器上的first_name
和last_name
参数的问题。如果您要从user
管理员面板手动添加这些用户,则需要确保在注册表中的first_name
方法调用中添加last_name
和permit_params
答案 1 :(得分:1)
使用Rails 4,Ruby 2.0,并安装了Devise,我使我的应用程序控制器看起来像这样,现在我将first_name
和last_name
存储在我的数据库中:
class ApplicationController < ActionController::Base
# Prevent CSRF attacks by raising an exception.
# For APIs, you may want to use :null_session instead.
protect_from_forgery with: :exception
before_filter :configure_permitted_parameters, if: :devise_controller?
protected
def configure_permitted_parameters
devise_parameter_sanitizer.for(:sign_up) { |u| u.permit(:email, :password, :password_confirmation, :first_name, :last_name) }
# might need the code below for account updating
# devise_parameter_sanitizer.for(:account_update) { |u| u.permit(:email, :password, :password_confirmation, :firstname, :lastname) }
end
end