小编Mar*_*tto的帖子

使用NoSQL Document Store数据库有哪些实际用例?

在过去的几天里,我一直在阅读文档和观看Mongo DB特有的截屏视频,当这样的解决方案比典型的pg或mysql环境更好时,我感到很茫然.

具体来说,我的问题是在什么情况下(用例会很好)你想要去nosql路线吗?

谢谢!

database use-case mongodb nosql document-storage

5
推荐指数
3
解决办法
4826
查看次数

通过has_many:through with:conditions保存连接属性

我有一个看起来像这样的Artist模型:

# app/models/artist.rb
class Artist < ActiveRecord::Base
  # Relationships
  has_many  :releases
  has_many  :songs, :through => :releases
  has_many  :featured_songs,  :through => :releases,
                              :class_name => "Song",
                              :source => :song,
                              :conditions => { 'releases.featured', true }                         

end
Run Code Online (Sandbox Code Playgroud)

检索featured_songs非常有效.这里的问题是我无法向艺术家添加新的feature_song,因为出于某种原因,'featured'属性被设置为'nil'.

这就是我正在尝试的:

ruby-1.9.2-p180 :004 > a = Artist.first
ruby-1.9.2-p180 :005 > a.featured_songs.create(:title => "Title", :user => User.first)
Run Code Online (Sandbox Code Playgroud)

实际结果是:

ruby-1.9.2-p180 :004 > a = Artist.first
ruby-1.9.2-p180 :005 > a.featured_songs.create(:title => "Title", :user => User.first)
  User Load (0.9ms)  SELECT `users`.* FROM `users` LIMIT 1
  SQL (1.0ms)  BEGIN
  SQL …
Run Code Online (Sandbox Code Playgroud)

activerecord ruby-on-rails data-modeling relationship has-many-through

5
推荐指数
1
解决办法
3392
查看次数

Friendly_Id和保留字 - 如何替换保留字?

以下是导致错误的原因示例:

ruby-1.9.2-p290 :004 > Post.new(title: "new").save!
   (0.3ms)  BEGIN
  post Load (0.3ms)  SELECT `posts`.* FROM `posts` WHERE (`slug` = 'new' OR `slug` LIKE 'new--%') ORDER BY LENGTH(`slug`) DESC, `slug` DESC LIMIT 1
   (0.3ms)  SELECT 1 FROM `posts` WHERE `posts`.`lsi_post_id` = BINARY '' LIMIT 1
   (0.1ms)  ROLLBACK
ActiveRecord::RecordInvalid: Validation failed: Friendly is reserved
Run Code Online (Sandbox Code Playgroud)

我想在Post模型中添加一些东西,可能会用" - "替换一个新单词,或者沿着那些行替换,但我不知道从哪里开始.

谢谢!

ruby validation ruby-on-rails friendly-id

5
推荐指数
1
解决办法
1656
查看次数

如何建立良好的报告界面

我有大量围绕学校,学生,老师,班级,地点等的相关数据

我面临着客户提出的第四项挑战; 他们想要报道一切.这意味着他们希望能够以任何方式交叉引用数据点,我认为我只是编写一个漂亮的查询构建器.:/

这个堆栈问题旨在征求关于如何精美地构建报告界面的意见.

任何建议,参考,例子,jQ插件等都会很棒.

谢谢!

javascript css user-interface reporting

3
推荐指数
1
解决办法
971
查看次数

使用STI时索引在哪里?

我正在使用Rails和postgres.

我有几个使用STI的模型,我想知道我应该在表上放置索引以及为什么?

例如,假设我有以下设置:

class Comment < AR; end
class MovieComment < Comment; end
class MagazineComment < Comment; end


# Fake Comment Table
id:integer
title:string
body:text
type:string
Run Code Online (Sandbox Code Playgroud)

谢谢!

database postgresql ruby-on-rails single-table-inheritance sti

3
推荐指数
1
解决办法
2502
查看次数

使用simple_format帮助器允许id属性

作为概念证明,这里首先是一些控制台输出:

ruby-1.9.2-p180 :010 > x = "<span id='c_3'>s</span>"
 => "<span id='c_3'>s</span>" 
ruby-1.9.2-p180 :011 > helper.simple_format(x)
 => "<p><span>s</span></p>"
Run Code Online (Sandbox Code Playgroud)

原因是Rails helper方法在执行的最后simple_format调用该sanitize方法,该方法剥离属性.

我知道这sanitize将允许您指定不应被剥离的属性.我的问题是:是否有可能通过simple_format以某种方式传递"white listed"属性(在本例中为id)?

谢谢!!

html-helper views ruby-on-rails

2
推荐指数
1
解决办法
1028
查看次数

使用HABTM和has_many:通过 - 需要帮助识别我错误的地方

大约一个小时前,我问了关于rails关联的问题:关于Rails中正确关联的
问题

从这个问题中得到的答案让我更深入地思考了人际关系,并且我想向SO社区介绍这种情况.

我之前的问题使用了诗人,诗歌和印刷作为模型......对于这一个,让我们使用音乐产业:

模型是:

  • 艺术家
  • 专辑
  • 歌曲
  • 类型

以下陈述应视为真实:

  1. 一张专辑可以有多位艺术家 - 即Metallica和Pantera发行圣诞专辑
  2. 一首歌可以属于多张专辑 - 即黄色潜水艇在原始专辑中以及披头士乐队的一些"Greatest hits"专辑中
  3. 个别歌曲也可以有多个与专辑艺术家不同的"特色"艺术家 - 即Snoop Dogg拥有专辑但是播放了一首以Harry Connick Jr.为特色的歌曲.或者更好的例子是当DJ发行专辑时所有的歌曲都是其他艺术家.
  4. 艺术家,专辑和歌曲都可以在多个分类/不同的流派 - 即布赖恩·塞策乐团被归类为"摇摆",他们的专辑之一可能是"摇摆,乡村摇滚"和上一张专辑都可能成为"跳跃蓝调的个人歌曲".

在深入研究这个问题时,我立即看到像Artist和Genre这样的模型可以"重复使用".我们不想多次保存艺术家的信息 - 例如,如果我们有一首主要艺术家和特色艺术家的歌曲,艺术家的信息应该存在于DB的"艺术家"表中.

此外,在查看"特色"艺术家方面(声明#2)时,似乎我们还有一个应该在关联上的附加属性 - 类似于"特色"标志.

以下是我认为应该如何设置关联 - 以及我的帖子的顶点....这是正确的,我怎样才能让它变得更好?

class Artist < ActiveRecord::Base
  has_and_belongs_to_many :albums
  has_and_belongs_to_many :genres
  has_many :featurings
  has_many :features, :through => :featurings, :conditions => "featured = true"
end

class Album < ActiveRecord::Base
  has_and_belongs_to_many :artists
  has_and_belongs_to_many :songs
  has_many :featurings
  has_many :featured_artists, :through => :featurings, :conditions => "featured = true" …
Run Code Online (Sandbox Code Playgroud)

activerecord ruby-on-rails associations has-many has-many-through

2
推荐指数
1
解决办法
925
查看次数

Rails 3.1发布/评论博客模型 - 如何通过ajax提交评论?

我正在尝试学习使用远程表单并使用Post模型has_many评论的应用程序示例.

假设我使用通用rails脚手架来创建/设置帖子/评论模型,控制器,默认视图,路线等, - 我应该app/views/posts/show.html怎么样?

具体我很困惑:

  1. 评论表格应该在哪里发布?
  2. 应包括哪些参数?
  3. 我是否需要使用隐藏的属性,如 f.hidden_field :post_id, :value => @post.id

谢谢!

ruby forms ruby-on-rails ujs ruby-on-rails-3

2
推荐指数
1
解决办法
2770
查看次数

如何坚持使用REST?

我基本上把一个应用程序放在一起做一个超级简单的问题=>回答测试,试图了解有关rails的更多信息.

即:问题:"你的狗叫什么名字?" 答案:"Doggington"

我有一个带有两个简单属性的Question模型:question:string correct_answer:string

我在这里的斗争是如何将REST主体应用于此 - 具体来说,当我检查用户的输入(回答)以查看他是否正确的问题时.

我不确定我是否应该做一些像修改"show"方法(或任何其他动作)来接受发布到它的答案的值......并且看起来像我应该在我的questions_controller中创建一个名为"verify_answer"的新方法" 或类似的规定.

这打破了REST.

你怎么看?

谢谢!

ruby rest controller ruby-on-rails crud

1
推荐指数
1
解决办法
152
查看次数

如何在不插入DOM的情况下对文本字符串使用jQuery selector/find()?

我有一个文本字符串,我试图选择使用jQuery的跨度.我想抓住没有将元素添加到dom的跨度 - 如果可能的话?

在阅读了jquery文档后,我假设我可以通过将字符串包装在jquery选择器标记中来创建片段,然后使用.find()来查找我想要的元素.

我的代码与此类似,但从最后一行的外观来看,显然没有选择任何跨距; 任何帮助将不胜感激:

// 'text' is normally generated automatically... 
// just made it an escaped string for example purposes.
var text ="<span id=\"blah1\">Y</span><br/><span id=\"blah2\">o</span><br/>";
var spans = $(text).find('span');
console.log(text); // => <span id="blah1">Y</span><br/><span id="blah2">o</span><br/>
console.log(spans.length); // => 0 
Run Code Online (Sandbox Code Playgroud)

谢谢.

javascript jquery jquery-selectors documentfragment

0
推荐指数
1
解决办法
6477
查看次数