Przekazywanie wartosci do modelu

w oparciu o
http://railscasts.com/episodes/193-tableless-model oraz

def create @member = Member.new(params[:member]) respond_to do |format| if @member.valid? if p = Net::LDAP.new p.host = "192.168.0.1" p.auth @member.name+"@local", @member.password if p.bind ... else @member.password = nil format.html { render action: "new" } end else format.html { render action: "new" } end
zrobiłem uwierzytelnienie usera z AD Microsoftu

mam stworzony model Site i chciałbym przekazywać przy tworzeniu wpisu o nowej stronie nazwe zalogowanego usera

jak to zrobic prawidłowo, probuje tak ale nie działa

[code]class Site < ActiveRecord::Base
after_create :add
attr_accessible :answer, :description, :name, :result, :username

private
def add
self.update_attributes(:username => Member.last.name.to_s)
end
end[/code]

juz raczej

def add
self.username = Member.last.name.to_s
end

i nie w after_create tylko jakis before_validation np

Jesli dobrze rozumiem co chcesz osiagnac,

Ten Memeber.last.name to nie wyglada zbyt dobrze, jak ktos ci w miedzy czasie doda cos do bazy to co? Tam nie ma transakcji, to nie jest atomowe, zle do sprawy podchodzisz,

Lepiej opisz dokladnie o co chodzi, co chcesz osiagnac

member nic nie zapisuje do bazy

[code]# == Schema Information

Table name: members

name :string

password :string

class Member < ActiveRecord::Base

def self.columns() @columns ||= []; end

def self.column(name, sql_type = nil, default = nil, null = true)
columns << ActiveRecord::ConnectionAdapters::Column.new(name.to_s, default, sql_type.to_s, null)
end

column :name, :string
column :password, :string
attr_accessible :name, :password
end[/code]
uzyłem go do weryfikacji czy logujacy sie user ma konto w AD

chce teraz pobierać @member.name ale do modelu obsługujacego Site czyli juz do fizycznej bazy zapisywac jaki user AD dodał stronę do rejestru.

zrobiłem to tak ale wolałbym uniknąć zapisów w session

if p.bind session[:user]= @member.name
i w kontrolerze dla create

if @site.save @site.update_attributes(:username=>session[:user])