我一直在試圖設計一個小部件爲我的Rails應用程序,不幸發現自己缺乏在Javascript技能...文章統計小工具在軌
我能夠基於此短導向,以創建窗口小部件博客:http://www.eduvoyage.com/2008/8/3/widget-with-rails
但我需要的是與他們描述的有點不同。
如果您擁有針對特定文章投票的類似digg或tweetmeme的應用程序,您如何創建顯示投票的小部件?
比方說,文章模型有一個名稱,一個鏈接和一個votes_counter。
這是我的嘗試:
在文章控制器:
def index
@article = Article.find_by_link("#{request.url}")
respond_to do |format|
format.js
format.html
end
end
在index.js.erb的:
var txt = ''
txt += "<div id='article_widget'>";
txt += "<h2>Article vote count:</h2>";
txt += "<%= escape_javascript(@article.votes) %>";
txt += "</div>";
document.write(txt);
我得到的問題是,@文章原來是零。想通了什麼事,我添加這段代碼到我的JavaScript文件:
txt += "<%= escape_javascript(request.url) %>";
屏幕上的結果是:http://localhost:3000/articles.js。很顯然,當它只是返回javascript文件的路徑時,我無法使用find_by_link方法。我想在find_by_link方法中使用瀏覽器中的當前網址。
或者是否有更好的方法來做到這一點?
有沒有辦法讓我的rails應用程序確切地知道哪些文章被引用?
這似乎是一個很好的建議,雖然當我試圖看到我得到什麼,當我輸入txt + =「<%= escape_javascript(params [:url])%>」;該網址重複自己無盡的。不知道該怎麼辦。我對編程非常陌生,只知道ruby,rails和SQL。我認爲一個小部件會很簡單,我不必學習JavaScript,我應該去買一本書,學習它只是爲了製作一個小部件? –
嗯。不知道你重複自己的意思。它不斷重新加載相同的頁面?或者它打印了一個不結束的URL並凍結了服務器? –
它打印了不結束的行。不知道爲什麼。 –