2017-09-26 39 views
-1

我有一個新聞模型,如電子郵件,標題,slu,,..etc.I想要訪問我的visitor_controller中的方法內的對象的slug屬性。Rails對象屬性值在控制器中訪問時得到修改

在軌控制檯,塞屬性的值

2.3.3 :002 > @news = News.order(created_at: :asc).last(1) 

結果是:

slug: "north-korea-threatens-to-shoot-down-u-s-warplanes" 

我也在我的數據庫檢查蛞蝓值

select slug from news where id = xxx; 

的結果是:

north-korea-threatens-to-shoot-down-u-s-warplanes 

slug的值附加「。 。 。「而訪問它的方法的內部中的控制器。

class VisitorsController < ApplicationController 

    def getSlug 
    @news = News.order(created_at: :asc).last(1) 

    @news.each do |news| 
    slug = news.slug 

# raise slug.to_yaml 
    end 
    end 

當我提出它,蛞蝓值是

--- north-korea-threatens-to-shoot-down-u-s-warplanes ... 

getSlug.html.erb

<% @news.each do |bubble_gum| %> 
<tr> 
    <td><%= bubble_gum.title %></td> 
    <td><%= bubble_gum.slug %></td> 
</tr> 
    <% end %>  

在如果沒有(...)附加到彈塞,則彈塞值正在呈現正確。

如何獲得沒有附加內容的slug屬性的值(。 。 。)在控制器中的方法內部。

任何幫助是高度讚賞。提前感謝!

+1

「.to_yaml」有什麼用?你爲什麼認爲你需要它? –

回答

2

這和ActiveRecord查詢無關,或者在控制器內部。

...你看到的是簡單地由字符串轉換爲YAML造成的:

"north-korea-threatens-to-shoot-down-u-s-warplanes".to_yaml 
    # => "--- north-korea-threatens-to-shoot-down-u-s-warplanes\n...\n" 

wikipedia

三個週期(...)任選盡頭的小河中的文檔。

在控制器中,要轉換的字符串,YAML(raise slug.to_yaml),並在視圖中你只是直接顯示該字符串(<%= bubble_gum.slug %>)。這就是你看到差異的原因。

+0

謝謝你澄清我的錯誤。 – suresh