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 回答