Olası Çoğalt:
Ruby block and unparenthesized argumentsYakut Blok sözdizimi hatası
Ben bu sözdizimi hatası anladığımdan emin değilim. Rails uygulamasında bazı dosya yüklemelerini yönetmek için Carrierwave kullanıyorum ve yöntemlerden birine yanlış bir şekilde geçiyor gibi görünüyor.
İşte Carrierwave Docs yılında örnek:
version :thumb do
process :resize_to_fill => [200,200]
end
İşte buydu:
version :full { process(:resize_to_limit => [960, 960]) }
version :half { process(:resize_to_limit => [470, 470]) }
version :third { process(:resize_to_limit => [306, 306]) }
version :fourth { process(:resize_to_limit => [176, 176]) }
Yukarıdaki çalışmıyor, ben syntax error, unexpected '}', expecting keyword_end
olsun. İlginçtir ki, kusursuzca aşağıdaki çalışır:
version :full do process :resize_to_limit => [960, 960]; end
version :half do process :resize_to_limit => [470, 470]; end
version :third do process :resize_to_limit => [306, 306]; end
version :fourth do process :resize_to_limit => [176, 176]; end
Yani, benim sorum, ben bu durumda do...end
ancak parantez kullanarak bir blok iletebilirsiniz neden?
Teşekkürler!
Bu 'do' ile parantez ile çalışır each'' geçirilen [Kod bloğunun yineleniyor değil - '' (ruby)] (http://StackOverflow.Com/q/6718340/), [Blok tanımı - diş telleri ve 'do'-'end' arasındaki fark?] (http://StackOverflow.Com/q/6179442 /), [Yakla bitmeden Ruby çok satırlı blok] (http://StackOverflow.Com/q/3680097/), ['do' bloğu kullanılarak parantez {} '] (http: //) StackOverflow.Com/q/2122380/), [Ruby'deki bu kod kodlama stillerinin farkı veya değeri nedir?] (Http://StackOverflow.Com/q/533008/) ve [Ruby bloğu ve saydam olmayan argümanlar] (http : //StackOverflow.Com/q/420147/). –