我使用的是 Rails 5.0.1。 我的观点定义如下:
object @billing_address
attributes :line1,:line2,:city,:state,:postal_code
node(:country,if: lambda { |billing_address| billing_address.country.present? } ) do |billing_address|
partial 'api/mobile/v8/shared/_country',object: billing_address.country
end
这里,@billing_address
是一个 Hashie::Mash
。
问题是当我只有 country
而 @billing_address
中没有其他属性时,在 node(:country)
中,块变量返回值作为 country
(字符串)。
例如。如果 @billing_address
是
{
"country" => {
"country_code" => "ES","country_code_alpha_3" => "ESP","country_name" => "Spain"
"is_current" => false
}
}
然后块变量 billing_address
返回值作为 "country":String
。
但是当我有任何其他属性时,例如说city
,它工作正常。
感谢是否有人可以提供有关如何解决此问题的指导。
谢谢, 金丹