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.chomp
print "\033[33;5m>\033[0m"
, но работает не везде. Может подойдет что-нибудь из https://github.com/fazibear/colorize, хотя ради этого не стоит тянуть лишнюю библиотеку.