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