Displaying 20 results from an estimated 40000 matches similar to: "transactions with two models"
2008 Aug 26
1
transaction not working with update_attributes!
I am trying to wrap the updating of two models in a transaction and
when the transaction fails it is not rolling back.
My method is :
def update_attributes(user,params)
@user = user
@company = user.company
begin
User.transaction do
@user.update_attributes!(params[:user])
@company.update_attributes!(params[:company])
end
true
rescue
false
2011 Jul 14
2
belongs_to --- has_many should update automatically?
On p. 299 of the current Rails book it says that "Active Record takes
care of saving all the dependent child rows when you save a parent
row." So, when I add a row to the table that has "belongs_to" in its
model, shouldn''t the table with the "has_many" be updated with data
from the foreign key? If not, how do I save data from a form into
more than one
2006 Jun 13
4
When saving parent fails, children will still be updated
Hi all,
When submitting a master/detail form I first want to handle the children
before saving the parent.
There are has_many and belongs_to relations between the parent and the
children, so I can edit the children using (psuedo-)code like:
child.destroy for deleting, child.update_attributes for updating and
@parent.children.push(child) for adding child-records.
I update the parent by using:
2006 May 09
7
When to use optimistic locking?
Hi All,
I''m having some trouble deciding when and how to implement optimistic
locking.
Let''s say I have a multiuser Rails app, and let''s say it stores,
among other things "vital" customer information.
The standard methods created by the Rails generate scaffold script
look like this:
def edit
@customer = Customer.find(params[:id])
end
2008 Oct 21
1
How to force a lock_version increment
Hi everyone,
I have a order with order_lines use case. On changing the lines, I
want to be sure no one else changed the order. So I use lock_version
on the order. This works fine if something is changed on the order
record.
But now i have the situation that I delete, alter and add order lines
without changing the order record itself. I have to check and
increment the order#lock_version however
2006 Aug 17
2
validates_associated bug?
i seem to be experiencing a bug where rails tells me that my
organization object''s associated credit card is invalid (activerecord
validation-wise invalid), when i know it to be valid. this happens
only if i tell the organization to validate_associated :credit_card.
i know the associated credit card is valid, because a) that
credit_card object itself throws no validation errors, and b)
2007 May 21
7
How do I stop a column being updated by model.save?
One of my models has a column that is updated very frequently from a
separate process, so it is important that when a record is saved in
rails, this column should be left alone. In the update method of the
controller I have:
@record = MyModel.find(params[:id])
@record.update_attributes(params[:my_model])
params[:my_model] doesn''t have a reference to the column I''m talking
2005 Dec 27
4
How do you detect if ActiveRecord ''update'' fails?
So I''m updating multiple model objects in one go with something like
this in my controller:
=> Photo.update(params[:photo].keys, params[:photo].values)
When the update fails due to validation errors, how do I detect it?
The Rails API says:
"If the save fails under validations, the unsaved object is still
returned."
So I can''t simply do this:
=> if
2006 May 19
2
update_attributes
My application is so far mostly built from scaffold.
When I edit an existing record (I''ve turned off validation) the update
method is called. I get this error:
NoMethodError in <module>/<controller>#update
You have a nil object when you didn''t expect it!
You might have expected an instance of Array.
The error occured while evaluating nil.+
I get the same error when
2006 May 31
7
Rails, Transactions, and statements
Hi, I have a problem where I need an auto-incremented id back from the
database for a statement that has yet to be committed. The operation
that uses the id may fail, and if so, I need to rollback the database.
I can''t figure out how to send only the statement to the database
without the commit without sending over hard coded SQL. This is what I
started out with:
1 def add_album
2006 Jun 15
8
rails saves it to the database and I don''t want to
Hello:
I am developing a web application to book machines for an event.
so I have an event model
class Event < ActiveRecord::Base
has_many :datetimes
...
end
and a datetime model
class Datetime < ActiveRecord::Base
belongs_to :event
...
end
I have developed a view with the event information and information for
the datetimes. and in the event_controller when I capture a datetime I
2006 Aug 12
7
Where should "business logic" reside in Rails?
Hi all,
What is the preferred location for my Business Logic? I have complex
business rules that go across a specific data model.
Are model classes primarily for record I/O and validations? Would
business logic classes also reside in ./app/models? Or would these
classes reside in the ./lib directory? (If not, what type of code goes
in ./lib?)
I am thinking about the differentiation of the
2011 Aug 14
5
Puzzled with form on multiple table rows
I''ve got a table of events, and each event has a boolean attribute
is_ten_event.
On each row of the table is a chekbox to edit the value of is_ten_event,
so that multiple rows can be edited with one submit.
In order to allow boxes to be un-checked as well, the logic in the
controller works like this
get array of events from checkboxes that are ticked.
make all events.is_ten_event =
2006 Jan 26
1
Transactions for multiple models
I have users and companies tables where users belongs_to companies.
def signup
@company = Company.new(params[:company])
@user = User.new(params[:company])
@user.company = @company
if @user.valid? and @company.valid?
@company.save
@user.save
end
end
How can I make this into a transaction? Is this a candidate for a
distributed transaction?
If so, from what I understand from the API,
2005 Nov 30
8
nested attributes with update_attributes()
Hi,
I am trying to use the update_attributes on object with nested
attributes and I am getting the following error:
ProductPrice expected, got HashWithIndifferentAccess
Here''s the situation (simplified):
class Product < ActiveRecord::Base
belongs_to :productPrice
end
class ProductPrice < ActiveRecord::Base
has_one :product,
:dependent => true
2006 Jun 08
5
update only the join table in a HABTM - how?
I have a photographers app that requires giving access to galleries for
users. in one part, I want to be able to define gallery access for a
user seperate from updating any of the user info. I have this function:
def edit_access
@user = User.find(params[:id])
@user.galleries = Gallery.find(params[:gallery_ids]) if
params[:gallery_ids]
if @user.update_attributes(params[:user])
2006 Apr 18
4
how would you take the duplication out of this?
i have these two really similar methods in my addressbook controller.
def edit_company
@company = Company.find(params[:id])
if request.post? and @company.update_attributes(params[:company])
flash[:notice] = ''Company was successfully edited.''
redirect_to :action => ''show'', :id => @company
end
end
def edit_person
2007 Sep 14
5
controller.expect_render has me beat!
Hi,
A controller has a method with the following
def update
...
if @config.update_attributes( params[:new_config] )
redirect_to :action => :index
else
* render :action => :edit, :id => params[:id] # this line here*
end
...
end
The example has the following
it ''should render the "edit" config url on an unsuccessful save''
2006 Jan 03
5
update command not updating DB
I really need your help guys... I spent 6 hours on this simple update
command today that should work. It works fine in my other controller,
but doesn''t work in this one for some reason.
Here is my controller code for the list view, and then the update
command:
======
def edit
@user = User.find(params[:id])
end
def update
@user = User.find(params[:id])
if
2010 Aug 03
10
Returning last value
Hi.
I have the following controller of the update action:
[code]
def update
@projeto = Projeto.find(params[:id])
if (@projeto.update_attributes(params[:projeto]))
## Mesmo raciocĂnio utilizado no create.
@permissaoA = Permissao.find(:first, :conditions => ["usuario_id =
?", @projeto.responsavel.to_i])
@permissaoAvancado1 = Permissao.find(:first, :conditions