2012-12-20 59 views
0

acts_as_taggable_on是否有任何設置來防止創建新標記?我在維基上或在SO上找不到任何內容。預設標記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它會工作。
這只是一個猜測,我真的沒有測試它,只是打開了課堂,並試圖讀取它。

+0

線的東西從一個簡單的搜索過上:https://github.com/mbleigh/acts-as-taggable-on/issues/208,我認爲這是指標籤對象,而不是標籤本身? – dewyze

+0

我認爲答案是在這裏的某個地方:https://github.com/mbleigh/acts-as-taggable-on/blob/master/lib/acts_as_taggable_on/tag.rb#L45-L66。也許這不是一個嘗試我的第一個項目分叉的時間不好的時間?大聲笑 – dewyze

+0

我的想法確切。閱讀代碼讓我感覺像嘗試新事物。 – MurifoX

0

這不會是一個acts_as_taggable_on設置。

爲了防止某些角色能夠訪問它,只需在視圖中對其進行特定限制即可。

因此,在您的視圖 - 您可能有以下片段創建標籤。

<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 %> 
+0

我做了一個糟糕的措辭。我希望用戶能夠使用現有的標籤,但不能創建自己的標籤。 – dewyze

+0

@JDewzy啊。好吧:) 在這種情況下,我認爲你仍然需要一些授權,以決定何時調用:skip_save或不? – Nishant

相關問題