2013-01-03 2 views
0

업로드 된 이미지에 페이지의 URL을 삽입하려고합니다.
아래 코드는 이미 가지고 있지만 작동하지 않습니다.모델 내에서 변수를 사용하려면 어떻게해야합니까?

내 모델에 어떤 문제가 있습니까? 이 문제를 어떻게 해결할 수 있습니까?

내 협회

  • 는 사용자 has_one :
  • 프로필 belongs_to 프로필 : 저장하기 전에 사용자

모델/user.rb

before_save :text_to_insert? 

def text_to_insert 
    nickname = self.profile.nickname 
end 

has_attached_file :user_avatar, 
    :styles => { 
    :thumb=> "100x100>", 
    :small => "400x400>" }, 
    :convert_options => { 
    :small => '-fill white -undercolor "#00000080" -gravity South -annotate +0+5 " example.com/'+ nickname +' "' } 
+0

있는지 확인하십시오 :text_to_insert

before_save :text_to_insert 

?을 제거하려고 보인다. http://stackoverflow.com/questions/11058271/print-out-the-zombies-name-and-graveyard-rails-for-zombies/11058367#11058367 – DaMainBoss

+0

을 참조하십시오. 현재 페이지의 URL, 이것 좀 봐 http://stackoverflow.com/questions/2165665/how-do-i-get-the-current-url-in-ruby-on-rails – DaMainBoss

+0

액세스 방법을 알고 있습니다. 컨트롤러 또는보기 있지만 모델에서 열을 :( – Foo

답변

1

을, 당신이 ~을 사용하여 text_to_insert? 존재하지 않는 방법이 false를 돌려 주므로, 저장에 실패합니다. 그것은 오타처럼, 나는 완전히 확실하지 않다하지만 난 당신이 보간에서보고 싶은 생각이 유효 self.profile.nickname

+0

여전히이 오류가 나타납니다 ** 구문 오류, 예기치 않은 tUPLUS, keyword_do 또는 '{'또는 '('** 예상 코딩 잘못 방법 : convert_options? – Foo

+0

만약 내가 코드 self.profile.nickname, 여기서 self는 ** User **의 현재 접근 레코드를 의미한다. – Foo

+0

'has_attached_file '을 검사하고'options = {}'를 받아 들일지 검사한다. 일반적으로'p = {: n = > 'd'}'유효한 코드와': n => {: s => 'bar'}'가 유효하지 않습니다. –

관련 문제