因此,在为我的rails应用程序搜索标记宝石后,我发现了令人惊叹的行为 - 可标记的宝石.安装它并玩游戏我发现它将所有标签保存在标签db中,它只保存没有上下文的Tag.name,而是保存在:through relationship db(taggings)中.在大多数情况下,我可以看到这是完美的.除了我的应用程序,我希望能够为用户提供基于预先存在的标签进行标记的能力(例如,不允许他们创建自己的标签),并且作为标签的行为无法搜索所有标签在内置的一个上下文中(例如,如果我要呈现标记db的自动完成,我将包含我的应用程序中的所有标记,这不是我想要的)
下面的方法是我刚刚充实,以确定它是否会起作用(它确实如此),但我想知道我是否遗漏了一些带有act-as-taggable的东西.我的意思是我看不到提供这种方法的任何地方?
<% ActsAsTaggableOn::Tagging.find_all_by_context("tags").each do |tagging| %>
<%= tagging.tag %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
例如,如果act-as-taggable不这样做,这是最好的方法吗?感觉有点不高效,我是否会更好地进行自定义SQL查询而不是通过act-as-taggable进行路由?
如果它对我的日志的尾部有帮助:
Started GET "/users" for 127.0.0.1 at 2011-01-04 14:46:20 +0000
Processing by UsersController#index as HTML
SQL (0.5ms) SELECT name
FROM sqlite_master
WHERE type = 'table' AND NOT name = 'sqlite_sequence'
User Load (0.1ms) SELECT "users".* FROM "users"
ActsAsTaggableOn::Tagging Load (0.5ms) SELECT "taggings".* FROM "taggings" WHERE ("taggings"."context" = 'languages')
ActsAsTaggableOn::Tag Load …
Run Code Online (Sandbox Code Playgroud) 因此,我设法让自己陷入这样一种情况,即需要在舞台上放置一个充满图像的数据库(各种产品的透明图像),所有这些都需要按照产品高度对齐.
我的问题是,png的产品是"漂浮的",我无法控制它所处的png位置(顶部可能很紧,底部可能是负载,反之亦然)
有没有人知道找出png'真'高度的现有方法(宽度是额外的).我已经考虑过循环位图数据和检查,但想知道是否有人已经发明了这个轮子?