Introducing comma as tag separator (if present, otherwise it behaves as before),...
authorŠtefan Baebler <stefan.baebler@gmail.com>
Tue, 7 Jul 2009 22:05:03 +0000 (22:05 +0000)
committerŠtefan Baebler <stefan.baebler@gmail.com>
Tue, 7 Jul 2009 22:05:03 +0000 (22:05 +0000)
app/models/trace.rb
app/views/trace/_trace.html.erb
app/views/trace/view.html.erb

index 03dbeb0b35d53206753972cc3da8f3422f15d3cc..692c20fc63a02e27581a71eee04181d4650c4941 100644 (file)
@@ -20,15 +20,23 @@ class Trace < ActiveRecord::Base
   end
 
   def tagstring
-    return tags.collect {|tt| tt.tag}.join(" ")
+    return tags.collect {|tt| tt.tag}.join(", ")
   end
 
   def tagstring=(s)
-    self.tags = s.split().collect {|tag|
-      tt = Tracetag.new
-      tt.tag = tag
-      tt
-    }
+    if s.include?','
+      self.tags = s.split(/\s*,\s*/).collect {|tag|
+        tt = Tracetag.new
+        tt.tag = tag
+        tt
+      }
+    else
+      self.tags = s.split().collect {|tag|
+        tt = Tracetag.new
+        tt.tag = tag
+        tt
+      }
+    end
   end
   
   def large_picture= (data)
index 4e1733148c943fc1fc8c56aeb73a0bc89022336e..d38fa2f4c74fee873560a4bff508148c96d507ee 100644 (file)
@@ -27,8 +27,8 @@
     <%= t'trace.trace.by' %> <%=link_to h(trace.user.display_name), {:controller => 'user', :action => 'view', :display_name => trace.user.display_name} %>
     <% if !trace.tags.empty? %>
       <%= t'trace.trace.in' %> 
-      <% trace.tags.each do |tag| %>
-        <%= link_to_tag tag.tag %>
+      <% trace.tags.each_with_index do |tag, index| %>
+        <%= link_to_tag tag.tag %><%=', ' if index+1 < trace.tags.count %>
       <% end %>
     <% end %>
   </td>
index 0688ec130d6cbc9571775d6029ba2e3be430ec88..1001cadf9fdf241564523cc91d263a8cb400ff23 100644 (file)
@@ -36,8 +36,8 @@
     <td><%= t'trace.view.tags' %></td>
     <td>
     <% unless @trace.tags.empty? %>
-      <% @trace.tags.each do |tag| %>
-        <%= link_to tag.tag, { :controller => 'trace', :action => 'list', :tag => tag.tag, :id => nil } %>
+      <% @trace.tags.each_with_index do |tag, index| %>
+        <%= link_to tag.tag, { :controller => 'trace', :action => 'list', :tag => tag.tag, :id => nil } %><%=', ' if index+1 < @trace.tags.count %>
       <% end %>
     <% else %>
       <i><%= t'trace.view.none' %></i>