这是视图的错误部分 (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>