public static void save(Long id, String title, String content, String tags) { Post post; if (id == null) { // Create post User author = User.find("byEmail", Security.connected()).first(); post = new Post(author, title, content); } else { // Retrieve post post = Post.findById(id); // Edit post.title = title; post.content = content; post.tags.clear(); } // Set tags list for (String tag : tags.split("\\s+")) { if (tag.trim().length() > 0) { post.tags.add(Tag.findOrCreateByName(tag)); } } // Validate validation.valid(post); if (validation.hasErrors()) { render("@form", post); } // Save post.save(); index(); }
public Post tagItWith(String name) { this.tags.add(Tag.findOrCreateByName(name)); return this; }
public void tagWith(String tag) { tags.add(Tag.findOrCreateByName(tag)); }