2016-03-31 28 views
0

acts_as_taggable_on非常好用,使用靜態上下文時非常容易。 但是我試圖將用戶選擇的標籤存儲在依賴於模型屬性的上下文中。(Rails 4,acts_as_taggable_on):在控制器中使用動態上下文

該模型是Ingredient,它有一個屬性center_id。我希望用戶能夠選擇標籤及其上下文作爲基於該center_id的字符串。

我需要幫助爲控制器和視圖獲取正確的代碼。

型號:

class Ingredient < ActiveRecord::Base 
    belongs_to :center 

助手:

module IngredientsHelper 
    def get_all_tags_for_center 
    return Ingredient.tags_on(get_tags_context) 
    end 

    def get_tags_context 
    "c#{@ingredient.center_id}_ingredient" 
    end 
end 

視圖 - 我想這一點,但它可能不是動態的環境中正確的事情:

<%= f.association :tag_list do %> 
<%= f.select :tag_list, options_for_select(get_tags, @ingredient.tag_list_on(get_tags_context)), {}, {class: 'doselect2', multiple: true } %> 
    <% end %> 

控制器 - 你需要幫助。

回答

0

已解決。對於未來的讀者:

控制器:

@ingredient.set_tag_list_on get_tags_context, params[:tags].join(",") 
if @ingredient.update_attributes(ingredient_params) 
    . 
    . 
end 

查看:

<%= select_tag "tags[]", options_for_select(get_tags, @ingredient.tag_list_on(get_tags_context)), class: 'doselect2', multiple: true %> 
相關問題