2011-12-08 4 views
1

私はRailsの用のnoobだと私はブログの記事を以下のよ、私は、私はすべてが最後まで作業してきたhere...表示するツイート

を見つけました。その後、物事は不安定になる。

私は私のヘルパーでこれを持っているのであれば...

module ApplicationHelper 
    def display_content_with_links(tweet) 
    tweet.content.gsub(/(http:\/\/[a-zA-Z0-9\/\.\+\-_:?&=]+)/) {|a| "<a href=\"#{a}\">#{a}</a>"} 
    end 
end 

が、私は私のつぶやきはこれで私のビューに表示されていできないようにする必要があり...

私は何間違っている?

+0

をあなたのページに正確に何を見ていますか? rakeタスクを実行してツイートをまだ埋め込んでいませんか?上記のコードでは問題ではないかもしれません。 – codewise

+0

私はRuby 1.9.2p290にあり、grackel 0.1.10はインストールされていると表示されています。私は端末から "gem list"を実行します。何か案は? – thefonso

答えて

3

このディスプレイを表示するには、コントローラとビューが必要です。簡単なような何か:

# app/views/tweets/index.html.haml 
%ul 
    - @tweets.each do |tweet| 
    %li 
     = display_content_with_links tweet 

か、ERB

# app/views/tweets/index.html.erb 
<ul> 
    <% @tweets.each do |tweet| %> 
    <li> 
     <%= display_content_with_links tweet %> 
    </li> 
    <% end %> 
</ul> 

を使用する場合、これはも、あなたものに近づいていない可能性があり、かなり基本的な例を示します。

# app/controller/tweets_controller.rb 
TweetsController < ApplicationController 
    def index 
     @tweets = Tweet.get_latest 
    end 
end 

とビューで欲しいですが、それは正しい方向にあなたを指すべきです。

+2

私が変更する唯一の例は、 'Tweet.all'ではなく' Tweet.get_latest'としてそれを設定することです。それ以外は、素敵な答え – iwasrobbed

+0

私はそれを更新しました。 –

+0

これはうまくいくようです。 TweetsControllerの#インデックス ロードするためにそのようなファイルではなく、今、私はこのエラーを取得しています... – thefonso

0

実は、あなたがすでに設定しているコントローラ#アクションに

@tweet = Tweet.all 

を追加する必要があり、その後、あなたのビューでそれらを反復:

<ul> 
    <% @tweets.each do |tweet| %> 
    <li><%= display_content_with_links tweet %></li> 
    <% end %> 
</ul>