testing foreign key of rails fail

I have a some warnings about the referencing of foreign key,
i did try several way to solve this problem but i am still stuck with
foreign key.
is the syntax of setting foreign key is wrong?

can anyone help to fix the problem

~user table
id
name
address
guest

~ prescription table
id
person (integer)
picture
date_written

~user model
has_many :prescriptions

~ prescription model
  belongs_to :person, :foreign_key => "person" ,:class_name => 'User'

~userTest
  context "belong to and have many association " do
    should have_many :prescriptions
  end

~prescriptionTest
  context "belongs to relationship" do
    should belong_to :person
  end

  1) Failure:
test: belong to and have many association should have many
prescriptions. (UserTest) [/usr/local/lib/ruby/gems/1.9.1/gems/
shoulda-2.11.3/lib/shoulda/context.rb:324]:
Expected User to have a has_many association called prescriptions
(Prescription does not have a user_id foreign key.).
Expected block to return true value.

thanks

I have a some warnings about the referencing of foreign key,
i did try several way to solve this problem but i am still stuck with
foreign key.
is the syntax of setting foreign key is wrong?

can anyone help to fix the problem

~user table
id
name
address
guest

~ prescription table
id
person (integer)
picture
date_written

~user model
has_many :prescriptions

As in the other thread I think you need to specify the foreign key here also.
As a matter of interest why are you specifying all these non-standard
foreign keys rather than the default

~ prescription model
belongs_to :person, :foreign_key => "person" ,:class_name => 'User'

Again as I suggested much earlier I think you will run into problems
with the name of the foreign key the same as the model. If you say
@prescription.person how will rails know whether you mean the foreign
key field (which is an integer) or the associated user? person_id
would be more conventional and safer I think.

Colin

> I have a some warnings about the referencing offoreignkey,
> i did try several way to solve this problem but i am still stuck with
>foreignkey.
> is the syntax of settingforeignkeyis wrong?

> can anyone help to fix the problem

> ~user table
> id
> name
> address
> guest

> ~ prescription table
> id
> person (integer)

person_id => This is a foreign key of user

I change like that. but it's still giving me warning...

please help...

> picture
> date_written

> ~user model
> has_many :prescriptions

As in the other thread I think you need to specify theforeignkeyhere also.
As a matter of interest why are you specifying all these non-standardforeignkeys rather than the default

> ~ prescription model
> belongs_to :person, :foreign_key => "person" ,:class_name => 'User'

belongs_to :user, :foreign_key => "person_id" ,:class_name => 'User'

Again as I suggested much earlier I think you will run into problems
with the name of theforeignkeythe same as the model. If you say
@prescription.person how willrailsknow whether you mean theforeignkeyfield (which is an integer) or the associated user? person_id
would be more conventional and safer I think.

Colin

> ~userTest
> context "belong to and have many association " do
> should have_many :prescriptions
> end

> ~prescriptionTest
> context "belongs to relationship" do
> should belong_to :person

should belong_to :user

So is it all working now?

If not then show us the current code and error if you want more help.

Colin