class Catch
attr_accessor :value
def initialize(value)
@value = value
end
def to_i
@value.to_i
end
end
model/user.rbに追加します。
attr_accessor :value
def initialize(value)
@value = value
end
def to_i
@value.to_i
end
end
before_save do
self[:catches] = catches.map do |catch|
catch.to_i
end
end
def catches
case self[:catches]
when String
YAML.load(self[:catches]).map { |e| Catch.new(e) }
when Array
self[:catches].map { |e| e.kind_of?(Catch) ? e : Catch.new(e) }
else
(0..5).map { |n| Catch.new(n * 100) }
end
end
def catches=(hash_or_array)
case hash_or_array
when Hash
self[:catches] = hash_or_array.keys.sort.map do |key|
Catch.new(hash_or_array[key])
end
when Array
self[:catches] = hash_or_array.map { |e| Catch.new(e) }
end
end
xml内に追加します。self[:catches] = catches.map do |catch|
catch.to_i
end
end
def catches
case self[:catches]
when String
YAML.load(self[:catches]).map { |e| Catch.new(e) }
when Array
self[:catches].map { |e| e.kind_of?(Catch) ? e : Catch.new(e) }
else
(0..5).map { |n| Catch.new(n * 100) }
end
end
def catches=(hash_or_array)
case hash_or_array
when Hash
self[:catches] = hash_or_array.keys.sort.map do |key|
Catch.new(hash_or_array[key])
end
when Array
self[:catches] = hash_or_array.map { |e| Catch.new(e) }
end
end
model/user.rb
xml.catches do
catches.each do |c|
xml.catches c.to_i
end
end
group.rbに追加します(as_json_with_image)
catches.each do |c|
xml.catches c.to_i
end
end
:catches => u.catches,
これでcatchはxmlでもjsonでも配列が表示されました。次は同じようにhitsもやってみましょう。 his.rbを作成します。
class Hit
attr_accessor :value
def initialize(value)
@value = value
end
def to_i
@value.to_i
end
end
model/user.rbに追加します。
attr_accessor :value
def initialize(value)
@value = value
end
def to_i
@value.to_i
end
end
self[:hits] = hits.map do |hit|
hit.to_i
end
def hits
case self[:hits]
when String
YAML.load(self[:hits]).map { |e| Hit.new(e) }
when Array
self[:hits].map { |e| e.kind_of?(Hit) ? e : Hit.new(e) }
else
(0..2).map { |n| Hit.new(n * 100) }
end
end
def catches=(hash_or_array)
case hash_or_array
when Hash
self[:hits] = hash_or_array.keys.sort.map do |key|
Hit.new(hash_or_array[key])
end
when Array
self[:hits] = hash_or_array.map { |e| Hit.new(e) }
end
end
xml内に追加します。hit.to_i
end
def hits
case self[:hits]
when String
YAML.load(self[:hits]).map { |e| Hit.new(e) }
when Array
self[:hits].map { |e| e.kind_of?(Hit) ? e : Hit.new(e) }
else
(0..2).map { |n| Hit.new(n * 100) }
end
end
def catches=(hash_or_array)
case hash_or_array
when Hash
self[:hits] = hash_or_array.keys.sort.map do |key|
Hit.new(hash_or_array[key])
end
when Array
self[:hits] = hash_or_array.map { |e| Hit.new(e) }
end
end
model/user.rb
xml.hits do
hits.each do |h|
xml.hits h.to_i
end
end
group.rbに追加します(as_json_with_image)
hits.each do |h|
xml.hits h.to_i
end
end
:catches => u.catches,
以上で配列の2つは表示されました。
0 件のコメント:
コメントを投稿