我有acts_as_taggable设置和工作,但我有一个问题。
例如,如果我创建一个帖子,然后添加标签,如科技,电子,音乐。
一切正常。
现在,当我去编辑帖子时,文本字段中的标签显示为科技电子音乐。
请注意,没有逗号分隔标记,因此问题是每次编辑帖子时都必须重新添加逗号。否则,如果您保存它,那么科技电子音乐会显示为一个标签而不是3个单独的标签。
那么我怎么能以编辑形式出现这些逗号。
控制器
def index
@tags = Link.tag_counts_on(:tags)
if params[:tag].present?
@links = Link.tagged_with(params[:tag])
else
@links = Link.all
end
end
def new
@link = Link.new
end
def create
@link = Link.new(link_params)
if @link.save
redirect_to action: "index"
flash[:success] = "Link Added"
else
render 'new'
end
end
def edit
@link = Link.find(params[:id])
end
def update
@link = Link.find(params[:id])
if @link.update_attributes(link_params)
redirect_to action: "index"
flash[:success] = "Link Updated"
else
render 'edit'
end
end
private
def link_params
params.require(:link).permit(:title, :description, :url, :tag_list)
end
Edit.html.erb
<%= form_for(@link) do |f| %>
<div>
<%= f.label :title, "Link Title" %>
<%= f.text_field :title %>
</div>
<div>
<%= f.label :description %>
<%= f.text_area :description %>
</div>
<div>
<%= f.label :url, "URL" %>
<%= f.text_field :url %>
</div>
<div>
<%= f.label :tags, "Tags (separated by commas)" %>
<%= f.text_field :tag_list %>
</div>
<div>
<%= f.submit "Save Changes" %>
</div>
<% end %>
答案 0 :(得分:0)
修正了问题。我不得不改变自己的形式。
<%= f.text_field :tag_list %>
到
<%= f.text_field :tag_list, value: @post.tag_list.to_s %>