Query an array of hashes (Rails 5.2)A concise explanation of nil v. empty v. blank in Ruby on RailsUnderstanding the Rails Authenticity TokenCheck if a value exists in an array in RubyHow can I rename a database column in a Ruby on Rails migration?How do I get the current absolute URL in Ruby on Rails?How to drop columns using Rails migrationHow to check if a specific key is present in a hash or not?How to remove a key from Hash and get the remaining hash in Ruby/Rails?Rails/Postgres How to query hstore value if it contains value of passed arrayrails: query has_many for a list of objects
Mimic lecturing on blackboard, facing audience
Mixing PEX brands
Calculate sum of polynomial roots
What does "Scientists rise up against statistical significance" mean? (Comment in Nature)
Creepy dinosaur pc game identification
How to explain what's wrong with this application of the chain rule?
Recommended PCB layout understanding - ADM2572 datasheet
Why does the Sun have different day lengths, but not the gas giants?
Terse Method to Swap Lowest for Highest?
What is Cash Advance APR?
Did arcade monitors have same pixel aspect ratio as TV sets?
Using substitution ciphers to generate new alphabets in a novel
Can disgust be a key component of horror?
How much character growth crosses the line into breaking the character
A social experiment. What is the worst that can happen?
How does the math work for Perception checks?
PTIJ: Haman's bad computer
Is this toilet slogan correct usage of the English language?
Why would a new[] expression ever invoke a destructor?
Does an advisor owe his/her student anything? Will an advisor keep a PhD student only out of pity?
Store Credit Card Information in Password Manager?
Invalid date error by date command
Keeping a ball lost forever
Does malloc reserve more space while allocating memory?
Query an array of hashes (Rails 5.2)
A concise explanation of nil v. empty v. blank in Ruby on RailsUnderstanding the Rails Authenticity TokenCheck if a value exists in an array in RubyHow can I rename a database column in a Ruby on Rails migration?How do I get the current absolute URL in Ruby on Rails?How to drop columns using Rails migrationHow to check if a specific key is present in a hash or not?How to remove a key from Hash and get the remaining hash in Ruby/Rails?Rails/Postgres How to query hstore value if it contains value of passed arrayrails: query has_many for a list of objects
data = [
name: :name, model: :Address, field_type: :string ,
name: :country, model: :Address, field_type: :string ,
name: :street , model: :Address, field_type: :string ,
name: :city , model: :Address, field_type: :string ,
name: :count , model: :Property, field_type: :integer ,
name: :count2 , model: :Property, field_type: :integer ,
name: :count3 , model: :Property, field_type: :integer ,
name: :count3 , model: :Property, field_type: :integer
]
I have an array of hashes and I would like to query the hash values. I would like to know the most efficient and most recommended solution.
For example, I may need to find all the names of the hashes that are :integer. OR I may want to query all the names of the models that are :Address. OR I may need to query all the field_types as unique.
Can I query the array of hashes directly? if so how, and if not, is there a better method using active model or something?
ruby-on-rails ruby ruby-on-rails-5.2
add a comment |
data = [
name: :name, model: :Address, field_type: :string ,
name: :country, model: :Address, field_type: :string ,
name: :street , model: :Address, field_type: :string ,
name: :city , model: :Address, field_type: :string ,
name: :count , model: :Property, field_type: :integer ,
name: :count2 , model: :Property, field_type: :integer ,
name: :count3 , model: :Property, field_type: :integer ,
name: :count3 , model: :Property, field_type: :integer
]
I have an array of hashes and I would like to query the hash values. I would like to know the most efficient and most recommended solution.
For example, I may need to find all the names of the hashes that are :integer. OR I may want to query all the names of the models that are :Address. OR I may need to query all the field_types as unique.
Can I query the array of hashes directly? if so how, and if not, is there a better method using active model or something?
ruby-on-rails ruby ruby-on-rails-5.2
If it's a hash of hashes, then it's missing a few values or keys. For example:data = 1: name: :name, model: :Address, field_type: :string
– pauloancheta
Mar 8 at 1:58
sorry, I mean array of hashes, fixed
– user2012677
Mar 8 at 1:59
add a comment |
data = [
name: :name, model: :Address, field_type: :string ,
name: :country, model: :Address, field_type: :string ,
name: :street , model: :Address, field_type: :string ,
name: :city , model: :Address, field_type: :string ,
name: :count , model: :Property, field_type: :integer ,
name: :count2 , model: :Property, field_type: :integer ,
name: :count3 , model: :Property, field_type: :integer ,
name: :count3 , model: :Property, field_type: :integer
]
I have an array of hashes and I would like to query the hash values. I would like to know the most efficient and most recommended solution.
For example, I may need to find all the names of the hashes that are :integer. OR I may want to query all the names of the models that are :Address. OR I may need to query all the field_types as unique.
Can I query the array of hashes directly? if so how, and if not, is there a better method using active model or something?
ruby-on-rails ruby ruby-on-rails-5.2
data = [
name: :name, model: :Address, field_type: :string ,
name: :country, model: :Address, field_type: :string ,
name: :street , model: :Address, field_type: :string ,
name: :city , model: :Address, field_type: :string ,
name: :count , model: :Property, field_type: :integer ,
name: :count2 , model: :Property, field_type: :integer ,
name: :count3 , model: :Property, field_type: :integer ,
name: :count3 , model: :Property, field_type: :integer
]
I have an array of hashes and I would like to query the hash values. I would like to know the most efficient and most recommended solution.
For example, I may need to find all the names of the hashes that are :integer. OR I may want to query all the names of the models that are :Address. OR I may need to query all the field_types as unique.
Can I query the array of hashes directly? if so how, and if not, is there a better method using active model or something?
ruby-on-rails ruby ruby-on-rails-5.2
ruby-on-rails ruby ruby-on-rails-5.2
edited Mar 8 at 1:59
user2012677
asked Mar 8 at 1:50
user2012677user2012677
1,52141640
1,52141640
If it's a hash of hashes, then it's missing a few values or keys. For example:data = 1: name: :name, model: :Address, field_type: :string
– pauloancheta
Mar 8 at 1:58
sorry, I mean array of hashes, fixed
– user2012677
Mar 8 at 1:59
add a comment |
If it's a hash of hashes, then it's missing a few values or keys. For example:data = 1: name: :name, model: :Address, field_type: :string
– pauloancheta
Mar 8 at 1:58
sorry, I mean array of hashes, fixed
– user2012677
Mar 8 at 1:59
If it's a hash of hashes, then it's missing a few values or keys. For example:
data = 1: name: :name, model: :Address, field_type: :string
– pauloancheta
Mar 8 at 1:58
If it's a hash of hashes, then it's missing a few values or keys. For example:
data = 1: name: :name, model: :Address, field_type: :string
– pauloancheta
Mar 8 at 1:58
sorry, I mean array of hashes, fixed
– user2012677
Mar 8 at 1:59
sorry, I mean array of hashes, fixed
– user2012677
Mar 8 at 1:59
add a comment |
1 Answer
1
active
oldest
votes
You have a "plain" array of hashes. You can use Ruby methods:
data = [
name: :name, model: :Address, field_type: :string ,
name: :country, model: :Address, field_type: :string ,
name: :street, model: :Address, field_type: :string ,
name: :city, model: :Address, field_type: :string ,
name: :count, model: :Property, field_type: :integer ,
name: :count2, model: :Property, field_type: :integer ,
name: :count3, model: :Property, field_type: :integer ,
name: :count3, model: :Property, field_type: :integer
]
p data.select val[:field_type] == :integer .map val
# [:count, :count2, :count3, :count3]
p data.select .map val
# [:name, :country, :street, :city]
p data.uniq val[:field_type]
# [:name=>:name, :model=>:Address, :field_type=>:string, :name=>:count, :model=>:Property, :field_type=>:integer]
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%2f55055605%2fquery-an-array-of-hashes-rails-5-2%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 a "plain" array of hashes. You can use Ruby methods:
data = [
name: :name, model: :Address, field_type: :string ,
name: :country, model: :Address, field_type: :string ,
name: :street, model: :Address, field_type: :string ,
name: :city, model: :Address, field_type: :string ,
name: :count, model: :Property, field_type: :integer ,
name: :count2, model: :Property, field_type: :integer ,
name: :count3, model: :Property, field_type: :integer ,
name: :count3, model: :Property, field_type: :integer
]
p data.select val[:field_type] == :integer .map val
# [:count, :count2, :count3, :count3]
p data.select .map val
# [:name, :country, :street, :city]
p data.uniq val[:field_type]
# [:name=>:name, :model=>:Address, :field_type=>:string, :name=>:count, :model=>:Property, :field_type=>:integer]
add a comment |
You have a "plain" array of hashes. You can use Ruby methods:
data = [
name: :name, model: :Address, field_type: :string ,
name: :country, model: :Address, field_type: :string ,
name: :street, model: :Address, field_type: :string ,
name: :city, model: :Address, field_type: :string ,
name: :count, model: :Property, field_type: :integer ,
name: :count2, model: :Property, field_type: :integer ,
name: :count3, model: :Property, field_type: :integer ,
name: :count3, model: :Property, field_type: :integer
]
p data.select val[:field_type] == :integer .map val
# [:count, :count2, :count3, :count3]
p data.select .map val
# [:name, :country, :street, :city]
p data.uniq val[:field_type]
# [:name=>:name, :model=>:Address, :field_type=>:string, :name=>:count, :model=>:Property, :field_type=>:integer]
add a comment |
You have a "plain" array of hashes. You can use Ruby methods:
data = [
name: :name, model: :Address, field_type: :string ,
name: :country, model: :Address, field_type: :string ,
name: :street, model: :Address, field_type: :string ,
name: :city, model: :Address, field_type: :string ,
name: :count, model: :Property, field_type: :integer ,
name: :count2, model: :Property, field_type: :integer ,
name: :count3, model: :Property, field_type: :integer ,
name: :count3, model: :Property, field_type: :integer
]
p data.select val[:field_type] == :integer .map val
# [:count, :count2, :count3, :count3]
p data.select .map val
# [:name, :country, :street, :city]
p data.uniq val[:field_type]
# [:name=>:name, :model=>:Address, :field_type=>:string, :name=>:count, :model=>:Property, :field_type=>:integer]
You have a "plain" array of hashes. You can use Ruby methods:
data = [
name: :name, model: :Address, field_type: :string ,
name: :country, model: :Address, field_type: :string ,
name: :street, model: :Address, field_type: :string ,
name: :city, model: :Address, field_type: :string ,
name: :count, model: :Property, field_type: :integer ,
name: :count2, model: :Property, field_type: :integer ,
name: :count3, model: :Property, field_type: :integer ,
name: :count3, model: :Property, field_type: :integer
]
p data.select val[:field_type] == :integer .map val
# [:count, :count2, :count3, :count3]
p data.select .map val
# [:name, :country, :street, :city]
p data.uniq val[:field_type]
# [:name=>:name, :model=>:Address, :field_type=>:string, :name=>:count, :model=>:Property, :field_type=>:integer]
answered Mar 8 at 2:01
Sebastian PalmaSebastian Palma
16.1k42135
16.1k42135
add a comment |
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%2f55055605%2fquery-an-array-of-hashes-rails-5-2%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
If it's a hash of hashes, then it's missing a few values or keys. For example:
data = 1: name: :name, model: :Address, field_type: :string
– pauloancheta
Mar 8 at 1:58
sorry, I mean array of hashes, fixed
– user2012677
Mar 8 at 1:59