2014-04-25 6 views
3

Увидев, что документация для этого драгоценного камня абсолютно бесполезна для начинающих, как и я, (они документируют это doesn ' t скажите, какой код нужно поместить в файл), я подумал, что я могу помочь мне для своего приложения Rails 4 вместо официальных документов.Кажется, что не работает Acts-As-Taggable для работы с Rails 4 (поле не будет обновляться)

Я не уверен, что act-as-taggable-on - лучшее решение для моей проблемы, но вот что я пытаюсь сделать: я создаю бизнес-каталог, который работает с тегами вместо категорий, поэтому что бар/гостиная может быть как в баре, так и в лаундже. Возможно, кто-то знает лучшее решение вместо использования act-as-taggable-on?

Нет ошибок при попытке создать или просмотреть теги, но проблема в том, что теги arent «сохраняются». Когда я пытаюсь просмотреть бизнес с тегами, он отображается пустым. То же самое, когда я пытаюсь его отредактировать.

Это то, что моя модель выглядит следующим образом:

class Business < ActiveRecord::Base 
    validates :name, uniqueness: true 
    acts_as_taggable 
    acts_as_taggable_on :tag_list 

end 

вид:

<%= form_for(@business) do |f| %> 
    ... 

    <div class="field"> 
    <%= f.label :tag_list, "Tags (seperated by commas)" %><br> 
    <%= f.text_field :tag_list %> 
    </div> 

    ... 
<% end %> 

Вид:

<p> 
     <strong>Tags:</strong> 
     <%= @business.tag_list %> 
    </p> 

Каждый знает, что мешает теги от просмотра/спасен? Возможно, там есть хорошая документация, которую кто-то может предоставить.

обновление: Я также использую Active_Admin, что, кажется, вызывает определенную проблему в соответствии с Matt Boldt. После выполнения его учебника моя проблема остается нерешенной.

ответ

0

У меня была такая же проблема, и проверил терминал, чтобы увидеть, где произошла ошибка, я получил эту Unpermitted parameters: tag_list

Я забыл добавить: tag_list к сильным Params принял атрибуты в контроллере для модели I использовал теги с. Попробуй это!

2

Возможно ли это проблема с массивом? не уверен. какую версию act_as_taggable вы используете?

попробуйте добавить к своим сильным параметрам запрос массива.

def business_params 
     params.require(:business).permit(:xxx, :xxx, :tag_list => []) 
    end 
1

У меня была такая же проблема, и меняющийся: tag_list => [] с: tag_list зафиксировал его

Я думаю, это зависит от типа ввода вы используете в вашей форме, в моем случае был текст input

def business_params 
    params.require(:business).permit(:xxx, :xxx, :tag_list) 
end