3

Как я могу использовать act_as_taggable_on gem с сильными параметрами в рельсах 4?act_as_taggable с сильными параметрами в рельсах 4

Есть:

class User < ActiveRecord::Base 
    acts_as_tagger 
end 

class Post < ActiveRecord::Base 
    acts_as_taggable 
end 

@post = current_user.tag(@post, :with => :tag_list) 

def post_params 
    params.require(:post).permit(:text, :user_id, :tag_list) 
end 

Как я могу добавить (post_params) в @post?

+1

Я сохранил acts_as_taggable_on на некоторое время. Я не думаю, что буду использовать его в приложении Rails 4, но сам создаю функциональность. –

+0

@JoostBaaij Могли бы вы порекомендовать альтернативу? – rpearce

+0

В большинстве случаев я считаю, что подходящее решение состоит в том, чтобы построить его самостоятельно. Это не так сложно. Готовится версия act_as_taggable_on версии 3.0.0.rc1, так как кто-то взял на себя разработку драгоценного камня. –

ответ

9

Вы должны указать свой допускаемый Params так:

def post_params 
    params.require(:post).permit(:text, :user_id, { tag_list: [] }) 
end 

Это должно сделать их сохранить tag_list в своем действии контроллера.

0

tag_list передается в виде массива при отправке формы. Итак, вы должны использовать белый список tag_list: [] в определении сильных параметров.

Рабочий код заключается в следующем:

def post_params 
    params. 
    require(:post). 
    permit(:text, :user_id, tag_list: []) 
end 
Смежные вопросы