2010-10-15 3 views
3

Я следую руководству railstutorial.org. Хотя я могу видеть gravatar на веб-странице, мой тест rspec не работает.ruby ​​on rails gravatar_image_tag

Вот тест user_controller_spec.rb:

describe "GET 'show'" do 

    before(:each) do 
    @user = Factory(:user) 
    end 

    it "should be successful" do 
    get :show, :id => @user 
    response.should be_success 
    end 

end 

Вот соответствующий show.html.erb файл:.

<table class="profile" summary="Profile information"> 
    <tr> 
    <td class="main"> 
     <h1> 
     <%= gravatar_image_tag(@user.email) %> 
     <%= @user.name %> 
     </h1> 
    </td> 
    <td class="sidebar round"> 
     <strong>Name</strong> <%= @user.name %><br /> 
     <strong>URL</strong> <%= link_to user_path(@user), @user %> 
    </td> 
    </tr> 
</table> 

Я получаю сообщение об ошибке с указанием «не определен метод 'gravatar_image_tag' I уже установлен соответствующий камень, выполнив «gem install gravatar_image_tag», добавив его в мой gemfile, а также выполнив «установку пакета». Он указан как установленный при выполнении «списка драгоценных камней»

Я пытался отладить это несколько часов. Любая помощь будет оценена по достоинству. Заранее спасибо. BTW, я запускаю 32-разрядную Windows 7 с GIT Bash, RubyInstaller-1.9.2-p0.

Сообщение об ошибке:

alt text

ответ

1

Является gravatar_image_tag камень глобальной для всех сред в вашем Gemfile? Если у вас это есть в блоке group :development, :production или что-то подобное, оно не будет доступно в тесте.

И я не пробовал, но ваша линия:

get :show, :id => @user

кажется, что это должно быть:

get :show, :id => @user.id

+0

Спасибо, человек !!! Это была проблема. У меня в группе разработчиков был гравитатор gravatar_image_tag !!! Большое спасибо!!! – sizzle

+3

также получить: show,: id => @user и получить: show,: id => @ user.id идентичны – Calin

1

Я автор драгоценного камня. Можете ли вы открыть вопрос на странице github http://github.com/mdeering/gravatar_image_tag/issues с версией рельсов и списком драгоценных камней для меня. Я посмотрю, смогу ли я решить проблему для вас и отправить ответ здесь.

У меня есть некоторые предварительные версии драгоценных камней, которые я мог бы вытолкнуть в gemcutter, которые могут решить проблему уже.

Приветствие, Mike D.

19

После того же учебник, я имел те же undefined method 'gravatar_image_tag' ошибку, но другое решение от принятых один выше (моего драгоценного камня был в правильном месте в Gemfile, так что WASN это проблема).

Просто пришлось перезапустить сервер (Ctrl C, затем rails server), а затем все было исправлено.

+0

Перезагрузка также работала для меня. – John

+0

Я тоже. Спасибо @TJ! –

0

Файл гравитационного камня был обновлен с момента выпуска PDF-файла Майкла Хартла.

gem 'gravatar_image_tag' 

Включить, что в вашем Gemfile, а затем перезапустить сервер рельсы с помощью

rails s 

, который работал для меня.

1

Если вы используете Spork как сервер DRB, попробуйте перезагрузить его, это мне помогло! (я также следую Hartls PDF).

1

У меня была та же проблема, простой перезапуск ее исправил.