2013-04-25 387 views
0

我一直在尋找關於如何爲Ruby on Rails進行查詢的在線信息,並且我可以找到如何構建查詢的信息,但不是我放置物理代碼的位置。我對Ruby on Rails非常陌生。Ruby on Rails SQlite 3數據庫查詢

我有一個名爲story的數據庫,它有我製作的標題和內容列。我有一個頁面用於輸入標題和內容,然後存儲到數據庫中,然後我有一個顯示數據庫所有內容的頁面,但我不明白如何執行查詢來查找我們說的「一條記錄具有包含特定單詞或短語」

<%= @story.content %> 

所以我的理解是在屏幕上顯示的內容,做我只是做了查詢,同樣的事情,內容或標題?

+1

您是否創建了任何控制器?你不能像在PHP中那樣在頁面上執行SQL(不應該)。 – woz 2013-04-25 15:10:24

+0

woz是正確的。您的查詢屬於您的控制器,這些控制器會公開顯示在視圖中的數據。 – 2013-04-25 15:21:29

回答

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 

如果你想拿起唯一一個從DATABSE可以用戶。首先。去年例如recoed

@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 

等等......

我覺得你需要一個好的tutorial.As你是一個新手,請結帳Ruby on Rails Guides: Active Record Query Interface

3

在軌活動記錄使用不直接SQL查詢

這裏的解釋是一個很好的鏈接......

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

例如可以說你有崗位模型,你想

  1. 指數的所有帖子,然後使用

    @posts = Post.all

  2. 你想顯示具體的崗位,根據ID找到它

    @post = Post.find(PARAMS [:編號])

  3. 創建由

    @post一個新的職位= Post.new

+0

在我的應用程序/模型下我有一個story.rb,它包含從ActiveRecord繼承的故事類。你說我需要做@ story = Story.all,但我在哪裏放?我是否將它放在頁面的視圖中,以便它在頁面上發佈?或者我把它放在課堂上?我不明白我是如何得到頁面上顯示的查詢 – jordankoal 2013-04-25 19:46:17

+1

您必須在控制器索引操作中放置'@story = Story.all',並調用'@story'以查看索引故事 – Magnum 2013-04-26 06:26:16