diff --git a/app/controllers/aspects_controller.rb b/app/controllers/aspects_controller.rb index 43e0b7f33..ddde8a725 100644 --- a/app/controllers/aspects_controller.rb +++ b/app/controllers/aspects_controller.rb @@ -73,8 +73,7 @@ class AspectsController < ApplicationController def update @aspect = current_user.aspect_by_id(params[:id]) - data = clean_hash(params[:aspect]) - @aspect.update_attributes( data ) + @aspect.update_attributes( params[:aspect] ) flash[:notice] = I18n.t 'aspects.update.success',:name => @aspect.name respond_with @aspect end diff --git a/app/models/aspect.rb b/app/models/aspect.rb index e58318569..0fceedead 100644 --- a/app/models/aspect.rb +++ b/app/models/aspect.rb @@ -18,6 +18,7 @@ class Aspect validates_presence_of :name validates_uniqueness_of :name, :scope => :user_id + attr_accessible :name timestamps! diff --git a/app/models/user.rb b/app/models/user.rb index 6f8219765..273cc209b 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -92,8 +92,10 @@ class User ######### Aspects ###################### def aspect(opts = {}) - opts[:user] = self - Aspect.create(opts) + aspect = Aspect.new(opts) + aspect.user = self + aspect.save + aspect end def drop_aspect(aspect) diff --git a/spec/models/aspect_spec.rb b/spec/models/aspect_spec.rb index 484f5f66e..336d22cb3 100644 --- a/spec/models/aspect_spec.rb +++ b/spec/models/aspect_spec.rb @@ -18,29 +18,27 @@ describe Aspect do let(:aspect3) {user3.aspect(:name => "lala")} describe 'creation' do + let(:aspect){user.aspect(:name => 'losers')} it 'should have a name' do - aspect = user.aspect(:name => 'losers') aspect.name.should == "losers" end - it 'should be creatable with people' do + it 'should not be creatable with people' do aspect = user.aspect(:name => 'losers', :people => [friend, friend_2]) - aspect.people.size.should == 2 + aspect.people.size.should == 0 end it 'should be able to have other users' do - aspect = user.aspect(:name => 'losers', :people => [user2.person]) + aspect.people << user2.person aspect.people.include?(user.person).should be false aspect.people.include?(user2.person).should be true aspect.people.size.should == 1 end it 'should be able to have users and people' do - aspect = user.aspect(:name => 'losers', :people => [user2.person, friend_2]) - aspect.people.include?(user.person).should be false - aspect.people.include?(user2.person).should be true - aspect.people.include?(friend_2).should be true - aspect.people.size.should == 2 + aspect.people << user2.person + aspect.people << friend_2 + aspect.save.should be_true end end diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index ab1c005ee..2ae80e7f9 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -103,6 +103,7 @@ describe User do end it "makes a valid user" do @user.should be_valid + @user.persisted?.should be_false User.find_by_username("ohai").should be_nil end it 'saves successfully' do