Acts_as_taggable编辑操作无法正常工作?

时间:2015-01-05 00:35:54

标签: ruby-on-rails ruby ruby-on-rails-4 acts-as-taggable-on

我有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 %>

1 个答案:

答案 0 :(得分:0)

修正了问题。我不得不改变自己的形式。

<%= f.text_field :tag_list %> 

<%= f.text_field :tag_list, value: @post.tag_list.to_s %>