Ruby on Rails SQlite 3数据库查询

时间:2013-04-25 15:04:48

标签: ruby-on-rails ruby

我一直在网上查看如何对Ruby on Rails进行查询,我可以找到如何构建查询的信息,但不是我放置物理代码的地方。我是Ruby on Rails的新手。

我有一个名为story的数据库,它有我创建的标题和内容列。我有一个页面,用于输入标题和内容,然后存储到数据库,然后我有一个页面显示数据库的所有内容,但我不明白如何进行查询,让我们说,“一个记录具有包含特定单词或短语的内容或标题“

   <%= @story.content %>

所以我明白在屏幕上显示内容,我是否只对查询做同样的事情?

2 个答案:

答案 0 :(得分:3)

在rails中,活动记录不是直接使用sql查询

这是一个解释它的好链接......

http://guides.rubyonrails.org/active_record_querying.html

例如,假设你有发布模型,你想要

  1. 索引所有帖子然后使用

    @posts = Post.all

  2. 您要显示特定帖子,请按ID

    查找

    @post = Post.find(params [:id])

  3. 创建新帖子

    @post = Post.new

答案 1 :(得分:1)

根据您的查询,在您的控制器中写如

@stories = Story.where("stories.content IS NOT NULL")  #Records those has a content
@stories = Story.where("stories.title LIKE%a_certain_word_or_phrase%") # Records that contains a certain word or phrase

如果你只想从数据库中获取一个重新组合,你可以使用.first .last例如

@sotory = Story.where("stories.content IS NOT NULL").first #first item which has content
@sotory = Story.where("stories.content IS NOT NULL").first #last item which has content

你也可以通过id找到

@story = Story.find(1) # finds the record with id = 1

依旧......

我认为你需要一个很好的教程。如果你是新手,请结帐Ruby on Rails Guides: Active Record Query Interface