2013-10-14 112 views
2

请帮忙!红宝石Rails4和设计

我是一个红宝石的初学者在铁轨上。

我正在更新从简单的web表单到sqlite3数据库的值。

问题只是电子邮件&密码字段被插入到表中。名字,姓氏等显示值'无'

我使用DEVISE进行身份验证设置。

这里是我的user.rb代码:从我的web表单

<div><%= f.label :first_name %><br /> 
    <%= f.text_field :first_name %></div> 

    <div><%= f.label :last_name %><br /> 
    <%= f.text_field :last_name %></div> 
    <div><%= f.label :profile_name %><br /> 
    <%= f.text_field :profile_name %></div> 

class User < ActiveRecord::Base 

    devise :database_authenticatable, :registerable, 
     :recoverable, :rememberable, :trackable, :validatable 

attr_accessible :email, :password, :password_confirmation, :remember_me, 
        :first_name, :last_name, :profile_name 
end 

代码,并从我的迁移文件夹中的代码摘录:

def changed 
    create_table(:users) do |t| 
     t.string :first_name 
     t.string :last_name 
     t.string :profile_name 

t.string :email,    :null => false, :default => "" 
t.string :encrypted_password, :null => false, :default => "" 

请帮助!

回答

0

首先,Devise's Github page实际上有一些关于如何让它安装和工作的很好的信息。还有一个RailsCast about Devise

看来你对设计工作非常困惑,我强烈建议你刷新它!


迁移

首先,制定创建其自己的迁移,这将有很多的列内。这是通过设计产生在你的Ruby CMD以下命令:

rails generate devise:install 
rails generate devise MODEL 

一旦你跑了后者的命令,运行:

rake db:migrate 

这将允许您创建数据库,然后你刚刚创建的意见:

rails generate devise:views 

这在登录,注册&其设计用途,以帮助保持验证你的应用程序运行的其他意见。

+0

感谢您的信息丰富!我知道你引用的命令。但是,是的,我需要看github页面的设计进行改进。非常感谢!! 祝您好运! 帮我在未来:) – user2878191

0

在rails4中支持强参数,而attr_accessible在Rails4中不推荐使用。 所以添加下面的代码,并尝试运行,我希望这会帮助你。

class ApplicationController < ActionController::Base 
    # Prevent CSRF attacks by raising an exception. 
    # For APIs, you may want to use :null_session instead. 

    before_filter :configure_permitted_parameters, if: :devise_controller? 

    def configure_permitted_parameters 
    devise_parameter_sanitizer.for(:sign_up) { |u| u.permit(:firstname, :lastname, :email, :password, :password_confirmation) } 
    end 

    protect_from_forgery with: :exception 
end 
+0

非常感谢艾米特!你救了我的headeache男人!荣誉给你!非常感谢。 – user2878191