Рубин на рельсах gravatar_image_tag - PullRequest
3 голосов
/ 15 октября 2010

Я следую учебнику railstutorial.org. Хотя я могу видеть граватар на веб-странице, мой тест rspec не проходит.

Вот тест 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'. Я уже установил соответствующий гем, выполнив" gem install gravatar_image_tag ", добавил его в свой гемфайл, а также выполнил" установку пакета ". выполнить "список драгоценных камней"

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

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

alt text

Ответы [ 6 ]

19 голосов
/ 30 октября 2010

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

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

1 голос
/ 17 февраля 2013

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

1 голос
/ 15 апреля 2012

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

1 голос
/ 15 октября 2010

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

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

Ура, Майк Д.

1 голос
/ 15 октября 2010

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

И я не пробовал, но ваша строка:

get :show, :id => @user

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

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

0 голосов
/ 02 января 2012

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

gem 'gravatar_image_tag'

Включите это в свой Gemfile, а затем перезапустите сервер rails, используя

rails s

Это сработалодля меня.

...