Ruby on rails 是否可以使用acts as taggable on管理所有标记(添加、编辑和删除)
我在gem上使用acts作为标记,只有一个(默认)标记列表。我想知道是否可以创建一个表单来管理具有以下功能的标记。(浏览了所有答案,只找到了Activeadmin的解决方案。)Ruby on rails 是否可以使用acts as taggable on管理所有标记(添加、编辑和删除),ruby-on-rails,acts-as-taggable-on,Ruby On Rails,Acts As Taggable On,我在gem上使用acts作为标记,只有一个(默认)标记列表。我想知道是否可以创建一个表单来管理具有以下功能的标记。(浏览了所有答案,只找到了Activeadmin的解决方案。) 我使用actsastaggaleon::Tag.all获得了所有标记(跨关联模型)的列表 我希望能够编辑每个标记名(文本输入字段) 我希望能够删除(销毁)标记(复选框) 最后,我想能够添加一个标签到列表中,因为我们只使用用户可以添加到不同模型的类别。(可能有) 我将如何构造这两种形式1-3和4?作为可标记的行为,这可能吗
我将如何构造这两种形式1-3和4?作为可标记的行为,这可能吗?谢谢你事先的提示 您可以编辑标记并将其添加到对象中。因此,如果你有一个照片模型,你会做/照片/1/编辑以编辑照片和标签。。。和你添加它们的方式一样。为此,您的照片模型上有一列。问题4我不明白。。。您想给他们一个标签列表,让他们从中选择?如果是这样,也可以使用集合选择 如果你搜索,你会发现大量的表单示例。我自己解决了它 看法 添加标签 更新和删除标记
@tags.each do| tag|
text_field_tag“tags[#{tag.id}]name”,tag.name,class:'name'
拯救
删除
$(函数(){
$(“.delete tag”)。在(“单击”,函数(){
var行=$(此).tr;
$.post(“/tags/”+row.data(“id”),{u方法:“DELETE”},函数(){
row.remove();
})
})
$(“.update tag”)。在(“单击”,函数(){
var行=$(此).tr;
$.post(“/tags/”+row.data(“id”),{u方法:“PUT”,名称:row.find('.name').val()})
})
})
控制器
class标记控制器
form_tag "/tags" do
text_field_tag :name
submit_tag "Add tag"
@tags.each do |tag|
text_field_tag "tags[#{tag.id}]name", tag.name, class: 'name'
<button class="update-tag radius small">Save</button>
<button class="delete-tag radius small">Delete</button>
$(function(){
$(".delete-tag").on("click", function(){
var row = $(this).closest("tr");
$.post("/tags/" + row.data("id"), {_method: "DELETE"}, function(){
row.remove();
})
})
$(".update-tag").on("click", function(){
var row = $(this).closest("tr");
$.post("/tags/" + row.data("id"), {_method: "PUT", name: row.find('.name').val()})
})
})
class TagsController < ApplicationController
def create
name = params[:name]
ActsAsTaggableOn::Tag.create(name: name)
redirect_to :back
end
def destroy
tag = ActsAsTaggableOn::Tag.find(params[:id])
tag.destroy
render json: {success: true}
end
def update
tag = ActsAsTaggableOn::Tag.find(params[:id])
tag.update_attributes(name: params[:name])
render json: {success: true}
end
end