@ginolon wrote:
I have a Rails 5 (or 4) application and I need a good tag system.
- First question: is acts-as-taggable-on still a good choice?
This is my code:
class User < ActiveRecord::Base acts_as_taggable_on :tags end class UsersController < ApplicationController def user_params params.require(:user).permit(:name, :tag_list) end end @user = User.new(:name => "Bobby")
I'm able to add and remove with this (from Rails console or code):
@user.tag_list.add("awesome") @user.tag_list.remove("awesome")
- Second question: how can I handle relationship?
I'll explain it better: let's say I'm using Ember (or also Angular or others with JSONAPI, it's the same for my question), and I'm using ActiveModelSerializer 0.10.x:
app/models/user.js:
import DS from 'ember-data'; export default DS.Model.extend({ tags: DS.hasMany('tag') });
app/models/tag.js:
import DS from 'ember-data'; export default DS.Model.extend({ users: DS.hasMany('user') });
app/routes/myroute.js:
let user = this.get('store').peekRecord('user', 1); let tag = this.get('store').createRecord('tag', { user: user }); tag.save();
Now I have the problem: how can I say Rails to save this new tag (in taggings table I think)?
Generally when I have a relationships to handle in Ember I create a JSONAPI endpoint in Rails and with foreignKey and CREATE api I save all and it works good. But with acts-as-taggable-on I don't know how to save.
Maybe I have to generate a new endpoint for taggings and write my own code in a controller to handle savings for tags? Really? Maybe i'm missing something...
Posts: 1
Participants: 1