2013-10-14 3 views
2

Пожалуйста, помогите!Ruby Rails4 и разработка

Я новичок для рубинов на рельсах.

Я обновляю значения из простой веб-формы в базу данных sqlite3.

Проблема только в электронной почте & поля пароля вставлены в таблицу. first_name, last_name и т. д. показывают значение 'nil'

Я использую DEVISE для настройки аутентификации.

Вот мой код user.rb:

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 

код из моего веб-формы

<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> 

и фрагмент кода из моей MIGRATE папки:

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

Кажется, вы очень смущены тем, как работает Devise, и я настоятельно рекомендую очистить его!


миграция

Прежде всего, Разрабатывает создает свою собственную миграцию, которая будет иметь много столбцов внутри. Это порождается 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

Спасибо большое Amit! Ты спасла моего мужчину-хадахеда !!! Престижность к вам! Большое спасибо. – user2878191

Смежные вопросы