Adding a date to a date attribute in active record
I am trying to add a date of birth to each patient in my database and having issues adding a date to the dob
attribute on each patient. When I add for ex. Patient.first(dob: "01/25/1990")
I get an error reading no implicit conversion of Integer into Hash
. Any ideas on how I would do so?
create_table "patients", force: :cascade do |t|
t.string "first_name"
t.string "last_name"
t.integer "age"
t.date "dob"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
When I seeded my database, my dob
field was nil
I have also tried Patient.first(dob: Date.parse('31-12-2010'))
and still get the same error.
ruby-on-rails ruby rails-activerecord
add a comment |
I am trying to add a date of birth to each patient in my database and having issues adding a date to the dob
attribute on each patient. When I add for ex. Patient.first(dob: "01/25/1990")
I get an error reading no implicit conversion of Integer into Hash
. Any ideas on how I would do so?
create_table "patients", force: :cascade do |t|
t.string "first_name"
t.string "last_name"
t.integer "age"
t.date "dob"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
When I seeded my database, my dob
field was nil
I have also tried Patient.first(dob: Date.parse('31-12-2010'))
and still get the same error.
ruby-on-rails ruby rails-activerecord
@WaynePhipps I've actually tried that already doingPatient.first(dob: Date.parse('31-12-2010'))
– Daniel Bailey
Nov 20 '18 at 21:25
add a comment |
I am trying to add a date of birth to each patient in my database and having issues adding a date to the dob
attribute on each patient. When I add for ex. Patient.first(dob: "01/25/1990")
I get an error reading no implicit conversion of Integer into Hash
. Any ideas on how I would do so?
create_table "patients", force: :cascade do |t|
t.string "first_name"
t.string "last_name"
t.integer "age"
t.date "dob"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
When I seeded my database, my dob
field was nil
I have also tried Patient.first(dob: Date.parse('31-12-2010'))
and still get the same error.
ruby-on-rails ruby rails-activerecord
I am trying to add a date of birth to each patient in my database and having issues adding a date to the dob
attribute on each patient. When I add for ex. Patient.first(dob: "01/25/1990")
I get an error reading no implicit conversion of Integer into Hash
. Any ideas on how I would do so?
create_table "patients", force: :cascade do |t|
t.string "first_name"
t.string "last_name"
t.integer "age"
t.date "dob"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
When I seeded my database, my dob
field was nil
I have also tried Patient.first(dob: Date.parse('31-12-2010'))
and still get the same error.
ruby-on-rails ruby rails-activerecord
ruby-on-rails ruby rails-activerecord
edited Nov 20 '18 at 21:37
mu is too short
352k58694668
352k58694668
asked Nov 20 '18 at 21:21
Daniel BaileyDaniel Bailey
67110
67110
@WaynePhipps I've actually tried that already doingPatient.first(dob: Date.parse('31-12-2010'))
– Daniel Bailey
Nov 20 '18 at 21:25
add a comment |
@WaynePhipps I've actually tried that already doingPatient.first(dob: Date.parse('31-12-2010'))
– Daniel Bailey
Nov 20 '18 at 21:25
@WaynePhipps I've actually tried that already doing
Patient.first(dob: Date.parse('31-12-2010'))
– Daniel Bailey
Nov 20 '18 at 21:25
@WaynePhipps I've actually tried that already doing
Patient.first(dob: Date.parse('31-12-2010'))
– Daniel Bailey
Nov 20 '18 at 21:25
add a comment |
1 Answer
1
active
oldest
votes
You have two problems:
first
doesn't take query arguments.- Your date format is ambiguous.
The first
finder method looks like:
first(limit = nil)
Find the first record (or firstN
records if a parameter is supplied). If no order is defined it will order by primary key.
You want to use find_by
as your .where(...).first
shortcut.
And to avoid ambiguity with your dates, you should use Date
objects or ISO-8601 formatted strings (i.e. YYYY-MM-DD) inside the application and leave the supposedly "human friendly" formats for the very edges.
You want to say:
Patient.find_by(dob: '1990-01-25')
Thanks, I got it to work. I was forgetting the update part. soPatient.first.update(dob: Date.parse('31-12-2010'))
worked.
– Daniel Bailey
Nov 20 '18 at 21:43
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53401725%2fadding-a-date-to-a-date-attribute-in-active-record%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
You have two problems:
first
doesn't take query arguments.- Your date format is ambiguous.
The first
finder method looks like:
first(limit = nil)
Find the first record (or firstN
records if a parameter is supplied). If no order is defined it will order by primary key.
You want to use find_by
as your .where(...).first
shortcut.
And to avoid ambiguity with your dates, you should use Date
objects or ISO-8601 formatted strings (i.e. YYYY-MM-DD) inside the application and leave the supposedly "human friendly" formats for the very edges.
You want to say:
Patient.find_by(dob: '1990-01-25')
Thanks, I got it to work. I was forgetting the update part. soPatient.first.update(dob: Date.parse('31-12-2010'))
worked.
– Daniel Bailey
Nov 20 '18 at 21:43
add a comment |
You have two problems:
first
doesn't take query arguments.- Your date format is ambiguous.
The first
finder method looks like:
first(limit = nil)
Find the first record (or firstN
records if a parameter is supplied). If no order is defined it will order by primary key.
You want to use find_by
as your .where(...).first
shortcut.
And to avoid ambiguity with your dates, you should use Date
objects or ISO-8601 formatted strings (i.e. YYYY-MM-DD) inside the application and leave the supposedly "human friendly" formats for the very edges.
You want to say:
Patient.find_by(dob: '1990-01-25')
Thanks, I got it to work. I was forgetting the update part. soPatient.first.update(dob: Date.parse('31-12-2010'))
worked.
– Daniel Bailey
Nov 20 '18 at 21:43
add a comment |
You have two problems:
first
doesn't take query arguments.- Your date format is ambiguous.
The first
finder method looks like:
first(limit = nil)
Find the first record (or firstN
records if a parameter is supplied). If no order is defined it will order by primary key.
You want to use find_by
as your .where(...).first
shortcut.
And to avoid ambiguity with your dates, you should use Date
objects or ISO-8601 formatted strings (i.e. YYYY-MM-DD) inside the application and leave the supposedly "human friendly" formats for the very edges.
You want to say:
Patient.find_by(dob: '1990-01-25')
You have two problems:
first
doesn't take query arguments.- Your date format is ambiguous.
The first
finder method looks like:
first(limit = nil)
Find the first record (or firstN
records if a parameter is supplied). If no order is defined it will order by primary key.
You want to use find_by
as your .where(...).first
shortcut.
And to avoid ambiguity with your dates, you should use Date
objects or ISO-8601 formatted strings (i.e. YYYY-MM-DD) inside the application and leave the supposedly "human friendly" formats for the very edges.
You want to say:
Patient.find_by(dob: '1990-01-25')
answered Nov 20 '18 at 21:37
mu is too shortmu is too short
352k58694668
352k58694668
Thanks, I got it to work. I was forgetting the update part. soPatient.first.update(dob: Date.parse('31-12-2010'))
worked.
– Daniel Bailey
Nov 20 '18 at 21:43
add a comment |
Thanks, I got it to work. I was forgetting the update part. soPatient.first.update(dob: Date.parse('31-12-2010'))
worked.
– Daniel Bailey
Nov 20 '18 at 21:43
Thanks, I got it to work. I was forgetting the update part. so
Patient.first.update(dob: Date.parse('31-12-2010'))
worked.– Daniel Bailey
Nov 20 '18 at 21:43
Thanks, I got it to work. I was forgetting the update part. so
Patient.first.update(dob: Date.parse('31-12-2010'))
worked.– Daniel Bailey
Nov 20 '18 at 21:43
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53401725%2fadding-a-date-to-a-date-attribute-in-active-record%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
@WaynePhipps I've actually tried that already doing
Patient.first(dob: Date.parse('31-12-2010'))
– Daniel Bailey
Nov 20 '18 at 21:25