2011-11-23 3 views
0

레일 멍청한 놈 여기에 그래서 내가 뭘 잘못하고 있는지 모르겠다.minimagick 아무 방법 "크기를 조정"

우리는 많은 클립 클립 기능을 mini_magick으로 대체하고 있습니다. 어떤 이유로 우리가 Image라고 불리는 클래스를 가지고 있다는 사실이 깨어나 기 전까지는 꽤 똑바로 보였습니다.

MiniMagick에서 Image 클래스의 이름을 변경 했으므로 문제가 해결되었지만 methodMissing이라는 메서드도 있었고 MiniMagick에도있었습니다.

모든 참조 등을 magick_method_missing으로 이름을 바꾼 이제 다음 오류가 발생합니다.

undefined method `resize' for #<MiniMagick::ImageEditor:0x2b236a98c9f8> 

(ImageEditor는 이름이 바뀐 클래스 임).

Google 시스템에서 플러그인을 처리해야하는 것은 이번이 처음입니다. 다른 모든 경험은 정말 간단합니다. "gem install ..."LOL. 아무도 내가 누락 된 부분을 알고 있습니까?

지금은 코드를 한 줄씩 검토하여 어딘가에서 참조가 누락되었는지 확인하려고합니다. 그것이 내가 생각할 수있는 유일한 것입니다.

+0

아 내가 개체에 사용할 수있는 모든 기능 보았다하지만 그것은 단지 객체 메소드 및 특수 아무것도가 나타납니다. 내가 예상하는 것은 예상되는 것입니다. – Micharch54

+0

그래서 MiniMagick :: Image 클래스와 다른 YourApp :: Image 클래스가 있습니다. 두 모듈은 다른 모듈에 있고 충돌은 없습니다. 원숭이가 다른 사람들에게 코드를 패치하는 것은 일반적으로 나쁜 습관으로 간주되는 것을 알고 있습니까? –

답변

0

제 3 자 코드에서 클래스와 메소드의 이름을 바꾸는 이유는 무엇입니까?

그리고 method_missing은 메소드를 찾을 수 없을 때마다 호출됩니다. MiniMagick이 바이너리 호출을 위해 그것을 사용하는 것을 기억한다면, 작동하지 않는 이름을 변경하면 method_missing이라고해야합니다.

플러그인을 사용하는 한 보석을 사용할 수 있습니다. 홈페이지는 located here입니다.

+0

나는 보석을 응용 프로그램에 직접 설치할 수는 있지만, IT 부서에서 아무 것도 설치하지 않아 로컬 폴더에 설치 한 다음 수동으로 설치를 옮겨야하는 경우 더 쉬울 것이라고 생각합니다. 나는 플러그인이 일반적으로 메인 앱과 충돌하지 않는다는 인상하에 있었는데, 왜 minimagick이 우리의 모든 이미지 호출을 폭발 시켰을까? – Micharch54

+0

그들은 수정되지 않은 플러그인을 사용하여 앱을 버전으로 되 돌리고 오류에 대한 새로운 소식을 남겨서는 안됩니다. 그러면 다른 제 3 자 코드를 수정하지 않고도 대답을 얻을 수 있습니다. –

+0

보석을 다시 기본으로 재설정해도 여전히 오류가 발생합니다. 잘못된 인수 수 (0은 1) 오류가 발생한 줄은 image_file.resize image_size이므로 알아낼 수 없습니다 (여기서 image_size는 우리의 db에서 가져온 치수). 이것은 처음에는 원숭이에게 패치를 적용하는 것과 같은 문제입니다. 그러나 이것이 우리가 주로 사용하는 앱의 문제점 일 수 있습니다.우리 지역 루비 전문가가 최근에 떠났거나이 문제가 큰 문제가 아니었을 것이라고 확신합니다. – Micharch54

0

imagemagick이 설치되어 있는지 확인하십시오. 나는 동일한 오류가 발생했다.

undefined method `resize' for #<MiniMagick::ImageEditor:0x2b236a98c9f8> 

나는 imagemagick을 나의 맥에 설치했지만 이전 버전에 설치했다. 제거하고 다시 설치해야했습니다.

나는 이전 버전을 제거하고 다시 ImageMagick과를 설치하는 사제를 사용 :

brew unlink imagemagick 
brew install imagemagick