similar to: transactions with two models

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