【问题标题】:Preset Tags acts_as_taggable_on预设标签acts_as_taggable_on
【发布时间】:2012-12-20 16:25:34
【问题描述】:

acts_as_taggable_on 是否有任何设置来阻止创建新标签?我在 wiki 或 SO 上找不到任何内容。

我只希望管理员能够创建新标签。我意识到我可以创建一些东西来检查列表,但我无法想象我是第一个提出这个请求的人。

【问题讨论】:

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


    【解决方案1】:

    我检查了源代码,发现了一些可能会阻止标签被保存的东西。根据此处找到的tag 方法:https://github.com/mbleigh/acts-as-taggable-on/blob/master/lib/acts_as_taggable_on/tagger.rb#L45,也许如果您输入和选项:skip_save 它会起作用。
    这只是一个猜测,我真的没有测试它,只是打开类并尝试阅读。

    【讨论】:

    【解决方案2】:

    这不是acts_as_taggable_on 设置。

    为了防止某些角色能够访问它,只需在您的视图中对其进行特定限制即可。

    因此,在您看来 - 您可能有以下用于创建标签的 sn-p。

    <div class="control-group">
        <%= f.label :tag_list, "Tags (Separated by Commas)",:class => 'control-label' %><br />
        <%= f.text_field :tag_list, :class => 'text_area' %>
      </div>
    

    只用你的授权码包围它们,它们不会被渲染。

    示例:如果您使用的是can-can gem,您可以写一些类似的内容

    <% if can? :update, tag_list %>
    

    【讨论】:

    • 我在措辞方面做得很差。我希望用户能够使用现有标签,但不能创建自己的标签。
    • @JDewzy 啊。好的 :) 在这种情况下,我认为您仍然需要一些授权,才能决定何时调用 :skip_save ?
    猜你喜欢
    • 2011-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多