Ruby on Rails Sunday, January 2, 2011

On 2 January 2011 14:11, Michal Burak <lists@ruby-forum.com> wrote:
> Colin Law wrote in post #971843:
>> On 2 January 2011 13:42, Michal Burak <lists@ruby-forum.com> wrote:
>>> class Foo < ActiveRecoed::Base
>>> has_many :www_links, :as => :owner
>>> end
>>>
>>> class WwwLink < ActiveRecord::Base
>>> belongs_to :owner, :polymorphic => true
>>> attr_accessible :href
>>> end
>>>
>>> I want to ensure that each Foo instance does not have same links (href).
>>
>> I don't understand what you mean by the above.
>>
>> Colin
>
>  test "should not allow for adding two same links" do
>    # given
>    foo1 = create_foo.save!
>    link1 = foo1.www_links.create(:href => 'wp.pl')
>    link1.save!
>
>    foo2 = create_foo.save!
>    link2 = foo2.www_links.create(:href => 'wp.pl')
>
>    # when
>    link2.save!
>
>    # then
>    errors occured !
>  end

So you are just wanting uniqueness of www_link.href? Will not
validates_uniqueness_of in WwwLink class (backed up by a unique
constraint in the database of course) do the job? I think in this
case it will be the foo2.www_links.create that will fail.

Colin

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.

No comments:

Post a Comment