puts ((1..100).map do |i|
str = ''
str << 'Fizz' if i % 3 == 0
str << 'Buzz' if i % 5 == 0
str.empty? ? i : str
end)
engines = @doc.xpath('/catalog/engines/engine').map do |engine|
{
values_attributes: engine.xpath('properties/property').map do |property|
{
property_id: property.xpath('id_property').text.strip,
property_value: property.xpath('value').text.strip
}
end
}
end
puts engines
{:values_attributes=>[{:property_id=>"15", :property_value=>"1013"}, {:property_id=>"13", :property_value=>"Рядный"}, {:property_id=>"12", :property_value=>"4"}, {:property_id=>"10", :property_value=>"4.76"}, {:property_id=>"4", :property_value=>"74"}, {:property_id=>"14", :property_value=>"Жидкостное охлаждение"}, {:property_id=>"11", :property_value=>"Tier 2"}, {:property_id=>"7", :property_value=>"430"}]}
require 'io/console'
puts 'What is your name?'
name = STDIN.noecho(&:gets).chomp
puts "My name is #{name}."
Ticket.limit(params[:per_page]).offset((params[:page].to_i - 1) * params[:per_page])
sentence.gsub('Robert', 'Joe').gsub('My', 'Your')
=> "Your name is Joe"sub.sentence.gsub(/Robert|My/, 'Robert' => 'Joe', 'My' => 'Your')
=> "Your name is Joe"
@user.products. Внутри там получаются несколько INNER JOIN и как альтернативный вариант можете сами составить такой запрос.class User < ApplicationRecord
has_many :subscriptions
has_many :categories, through: :subscriptions
has_many :products, through: :categories
end
class Subscription < ApplicationRecord
belongs_to :user
belongs_to :category
has_many :products, through: :categories
end
class Category < ApplicationRecord
has_many :subscriptions
has_many :products
end
class Product < ApplicationRecord
belongs_to :category
end
self.dir = вызывает dir=, который вы создали, когда указали attr_accessor :dir, выглядит это как-то так:def dir=(str)
@dir = str
end@, еще и на 4 символа короче=)@ что его можно использовать и без attr_accessor. Но если нужны геттер и сеттер, то лучше использовать attr_accessor, чем писать их самому, потому что ваш код будет на руби, а attr_accessor написан на С.
@comments не было присвоено никакое значение, а контроллер show вы не показали. По логике @comments.user.username здесь вообще лишнее, ведь дальше идет comment.username.
print, это как puts только без переноса строки.puts 'wtf?'
print '>'
gets.chompprint "\033[33;5m>\033[0m", но работает не везде. Может подойдет что-нибудь из https://github.com/fazibear/colorize, хотя ради этого не стоит тянуть лишнюю библиотеку.