Сохранить current_user в базе данных, чтобы показать в представлениях: devise, rails app - PullRequest
0 голосов
/ 23 февраля 2012

У меня есть @user = current_user в моем методе контроллера-шоу. но когда я использую Created by @user.email в представлениях, он меняется при каждом входе в систему, где, как я хочу, показывается пользователь, который создал / сделал это изменение.

так как мне сохранить current_user в базе данных, чтобы я мог показать соответствующего пользователя, который внес изменения?

обновление: вот код

модель пользователя

class User < ActiveRecord::Base
  # Include default devise modules. Others available are:
  # :token_authenticatable, :encryptable, :confirmable, :lockable, :timeoutable and :omniauthable
  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :trackable, :validatable

  # Setup accessible (or protected) attributes for your model
  attr_accessible :email, :password, :password_confirmation, :remember_me

  has_many :groups
end

групповая модель

 class Group < ActiveRecord::Base
  belongs_to :user
end

devise-пользовательская миграция (только необходимая часть)

t.has_many: группы

групповая миграция

t.belongs_to :user

метод создания группового контроллера

def create
   @user = User.find(params[:id])
    @group = @user.groups.build(params[:id])
    respond_to do |format|
      if @group.save
        format.html { redirect_to @group, notice: 'Group was successfully created.' }
        format.json { render json: @group, status: :created, location: @group }
      else
        format.html { render action: "new" }
        format.json { render json: @group.errors, status: :unprocessable_entity }
      end
    end
  end

новый метод группового контроллера

 def new
    @user = User.find(params[:id])
    @group = @user.groups.build(params[:id])

    respond_to do |format|
      format.html # new.html.erb
      format.json { render json: @group }
    end
  end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...