これがビューの誤った部分です(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>