ruby on rails - Audited: undefined method `associated' for nil:NilClass -
so have entry
model column called created_by
default first user
created entry. installed audited , in entry
model have:
belongs_to :user audited :associated_with => :user
similarly in user
model have following statements:
has_many :entries has_associated_audits
in entries form, trying create hidden_field
in trying set created_by
equal the associated user of first audit on entry. i'm getting error, when try load form view:
undefined method `associated' nil:nilclass
here code in view:
.field = f.label :created_by %br = f.hidden_field :created_by, value: @entry.audits.first.associated
and here code in entries_controller
set @entry
in view:
def new @entry = entry.new authorize! :create, @entry @project = project.find(params[:project_id]) @entry.project_id = @project.id authorize! :update, :read, @project end
i realize that, intuitively, doesn't make sense call @entry.audits in event of creating new audit, since has not yet been saved. should set value of @entry.created_by
after call @entry.save
in create
method of controller? not sure practical approach take here.
thanks,
micha'el.
what i'd remove created_by
hidden field form (that intercepted), , instead set within controller before entry
saved using current_user
(or alternative) access user creating entry.
def create_entry @entry.created_by = current_user @entry.save end
i wouldn't consider important assign created_by
user after audit has been saved via @entry.audits.first.associated
because audits should associated same current_user
. if isn't case, have bigger problems on hands.
Comments
Post a Comment