LocalJumpError, Облако тегов с activ_as_taggable на Rails 2.3.5 - PullRequest
1 голос
/ 19 декабря 2009

Я использую acts_as_taggable_on_steroids плагин с рельсами 2.3.5 для создания облака тегов, и я не знаком с синтаксисом их цикла просмотра.Я также не смог найти никакого документа по ruby, объясняющего этот цикл.

Когда я запускаю приведенный ниже код, я получаю эту ошибку "без блока данных".

LocalJumpError in Tags#index
Showing app/views/tags/index.html.erb where line #10 raised:
no block given 

Я думал, что мне нужно добавитьметод tag_cloud для моего файла rout.rb, но это не решило проблему.

Контроллер:

class PostController < ApplicationController
    def tag_cloud
      @tags = Post.tag_counts
    end
  end

Вид:

  <% tag_cloud @tags, %w(css1 css2 css3 css4) do |tag, css_class| %>
    <%= link_to tag.name, { :action => :tag, :id => tag.name }, :class => css_class %>
  <% end %>

1 Ответ

0 голосов
/ 19 декабря 2009

Похоже, что TagsHelper в плагине не был включен, несмотря на то, что я включил его в ApplicationHelper.

Я просто скопировал функцию tag_cloud в мой TagsHelper, и она заработала.

Почему я не понял этот цикл, потому что это вызов метода с циклом, привязанным к нему. Думайте об этом так

<% tag_cloud( @tags, %w(css1 css2 css3 css4) ) do |tag, css_class| %>
  <%= link_to tag.name, tags_path(tag), :class => css_class %>
<% end %>
...