Rails(现在)不喜欢我的jquery脚本,它将元素转换为链接。 “未定义的方法”错误

时间:2012-07-08 18:43:27

标签: jquery ruby-on-rails ruby model-view-controller html-table

以下是视图的错误部分(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)...

在这里通过一系列文件,宝石,类进行解析有很多复杂的(对我来说)解析,但是知道如果没有“链接”给定元素的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>

1 个答案:

答案 0 :(得分:0)

Tweet类的

attr_accessor不包括:page_id

谢谢张