0

これがビューの誤った部分です(show.html.erb)

<% @results.each do |r| %>
<tr class="tweets">

    <script>
        $("td.status").click(function(){
        window.location = "http://www.twitter.com/id/status/<%= r.page_id %>";
        });
    </script>
    <td class="user"><img src="<%= r.img_url %>"></td>

    <td class="user"><strong><%= r.screen_name %></strong></td>

    <td class="user"><%= r.real_name %></td>

    <td class="time"><%= r.time_ago %></td>
    <td class="status"><%= r.status %></td>
</tr>
<% end %>

jqueryスクリプトを削除すると、他のすべてのr.elementタグが機能することに注意してください。このビューのコントローラー(ここで呼び出されます)でインスタンス化された@resultsオブジェクトは、このスクリプトを呼び出します(私はその一部のみを表示しています)

module SimpleTwitter
  class Tweet

attr_accessor :img_url, :screen_name, :real_name, :status, :time_ago

def initialize(tweet_hash)
  @img_url = tweet_hash['profile_image_url']
  @screen_name = tweet_hash['from_user']
  @real_name = tweet_hash['from_user_name']
  @status = tweet_hash['text']
  @page_id = tweet_hash['id']
  ...(cont)...

一連のファイル、gem、クラスを介してここで行われている複雑な(とにかく)解析はたくさんありますが、特定の要素を「リンク」するjqueryスクリプトがなければ、すべてがうまく機能していることを知っています。以前は、このjqueryスクリプトをエラーなしで使用していました。

さらに詳しい情報が必要な場合はお知らせください。

編集(DOH!)---エラーメッセージは次のとおりです。

NoMethodError in Searches#show

Showing /home/ddouglas/Develop/twitter_research/app/views/searches/show.html.erb where     line #28 raised:

undefined method `page_id' for #<SimpleTwitter::Tweet:0x000000030ee590>
Extracted source (around line #28):

25: 
26:         <script>
27:             $("td.status").click(function(){
28:             window.location = "http://www.twitter.com/id/status/<%=         r.page_id %>";
29:             });
30:         </script>
31:         <td class="user"><img src="<%= r.img_url %>"></td>
4

1 に答える 1

0

Tweetクラスのattr_accessorには:page_idが含まれていませんでした

ありがとうチョン

于 2012-07-08T19:02:32.597 に答える