2015-02-07 85 views
1

我試圖按照Mackenziechild.me的教程。導軌 - 無法訪問鏈接

下面是在GitHub上的代碼https://github.com/ikanyu/raddit

演示應用:https://whispering-shelf-9164.herokuapp.com/links/1

任何人都可以指出爲什麼當我我已經創建(例如Facebook的鏈接)的鏈接檢查元素,我可以清楚地看到Facebook的。但是,當我點擊鏈接時,它給我錯誤。

的ActiveRecord :: RecordNotFound在LinksController#顯示

無法與 'ID'= Facebook的

def set_link 
@link = Link.find(params[:id]) 
end 

def authorized_user 
... 

感謝找到鏈接!

<div class="page-header"> 
    <h1><a href="<%= @link.url %>"><%= @link.title %></a><br> <small>Submitted by <%= @link.user.name %></small></h1> 
</div> 

<div class="btn-group"> 
    <%= link_to 'Visit URL', @link.url, class: "btn btn-primary" %> 
</div> 

<div class="btn-group pull-right"> 
    <%= link_to like_link_path(@link), method: :put, class: "btn btn-default btn-sm" do %> 
    <span class="glyphicon glyphicon-chevron-up"></span> 
    Upvote 
    <%= @link.get_upvotes.size %> 
    <% end %> 
    <%= link_to dislike_link_path(@link), method: :put, class: "btn btn-default btn-sm" do %> 
    <span class="glyphicon glyphicon-chevron-down"> 
    Downvote 
    <%= @link.get_downvotes.size %> 
    <% end %> 
</div> 

<% if @link.user == current_user -%> 
    <div class="btn-group"> 
    <%= link_to 'Edit', edit_link_path(@link), class: "btn btn-default" %> 
    <%= link_to 'Destroy', @link, method: :delete, data: { confirm: 'Are you sure?' }, class: "btn btn-default" %> 
    </div> 
<% end %> 

<h3 class="comments_title"> 
    <%= @link.comments.count %> Comments 
</h3> 

<div id="comments"> 
    <%= render :partial => @link.comments %> 
</div> 
<%= simple_form_for [@link, Comment.new] do |f| %> 
    <div class="field"> 
    <%= f.text_area :body, class: "form-control" %> 
    </div> 
    <br> 
    <%= f.submit "Add Comment", class: "btn btn-primary" %> 
<% end %> 
+0

你可以發佈這個視圖的代碼? – 2015-02-07 19:33:14

+1

完成:)請看看 – ikanyu 2015-02-07 19:58:03

回答

0

如果您使用以下HTML創建在軌道鏈接

<a href="facebook.com">Facebook.com</a> 

Rails會聯繫你YourApp.com/facebook.com(這是一個無效的URL)。

嘗試重新寫你的鏈接是這樣的:

<a href="http://www.facebook.com">Facebook.com</a> 

您需要在您的視圖更改代碼這樣:

<div class="page-header"> 
    <h1><a href="http://www.<%= @link.url %>"><%= @link.title %></a><br> <small>Submitted by <%= @link.user.name %></small></h1> 
</div> 

或者,您可以編輯您@link。 url包含字符串「http://www」。

+1

Hooray!我試過你的方式,它的工作原理!你介意解釋爲什麼以前不起作用? – ikanyu 2015-02-07 20:00:27

+0

基本上,當你忽略'http:// www。' Rails將簡單地將href值附加到當前url的末尾。但是當你添加http:// rails時就會知道這個值是一個單獨的/獨立的url。那有意義嗎? – 2015-02-07 20:02:59

+0

請接受我的回答,如果它解決了您的問題...並讓我知道如果您有任何問題:) – 2015-02-07 20:14:53