【发布时间】:2017-03-01 08:20:55
【问题描述】:
我对acts_as_taggable_on 有疑问。我正在制作一个 BBS 并想显示链接标签。但是,我的网站只能显示字符串而不是链接。所以我想把链接放到字符串。
我想链接到每个标签#show。
现在一些标签被保存在Tag 表中,这个表有这些列(id,name,created_count)
这是我的代码:
post.rb
def save_tags
array = self.check_taggable_word(self.title)
self.tag_list.add(array, parse: true)
end
def tag_lists
tag_lists = self.tag_list
end
def check_taggable_word(text)
ary = Array.new
nm = Natto::MeCab.new
nm.parse(text) do |n|
ary<<n.surface
end
tags = ActsAsTaggableOn::Tag.pluck(:name)
return ary & tags
end
show.html.erb(帖子)
Tag:
<% @post.save_tags %>
<%= @post.tag_list %>
posts_controller.rb
def show
@post = Post.find(params[:id])
@category = @post.category
end
routes.rb
Rails.application.routes.draw do
root 'static_pages#home'
get '/about' => 'static_pages#about'
get '/contact' => 'static_pages#contact'
resources :categories do
resources :posts
end
resources :posts do
resources :comments
end
resources :tags, only: [:index, :show]
end
【问题讨论】:
-
不知道我是否理解。您是在问如何建立链接?
-
对于链接,您可以使用 link_to 帮助器.....gem 说要创建这样的链接: :tag, :id = > tag.name }, :class=> css_class %>
-
是的。我想做标签链接。
-
我试过
<%= link_to tag.name, { :action => :tag, :id => tag.name }, :class => css_class %>,但显示wrong number of arguments (0 for 1..4)错误。 -
对不起,我创建了一个答案,评论刚刚被复制,不一定适用于您的代码。
标签: ruby-on-rails ruby acts-as-taggable-on