2016-08-03 102 views
1

我有一個關鍵字搜索頁面,其結果顯示在表格中。此表中的一個字段是一個網址,我希望它顯示爲一個可點擊的鏈接,當該字段中有一個鏈接時,但當我點擊鏈接而不是查詢搜索時,我無法正常工作。我認爲這個問題是由於搜索控制器中的關鍵字搜索視圖處理。任何人都可以幫忙嗎?Rails搜索表可點擊鏈接

下面是一個包含結果表中的keywordsearch視圖:

<!-- Index of all Courses --> 
<% provide(:title, "Courses Page") %> 


<!--Breadcrumbs --> 
<br> 
<%= link_to "Back", :back %><br><br> 

<!--Page Contents --> 


    <div class ="row"> 
    <h1>Degrees Offered</h1> 
    <%= image_tag "line.png" , :alt => "line break"%>  
    </div> 

    <div class ="row"> 

     <!-- Form for Keyword Search, to query database for University courses. It is hidden so as to not appear as a search on the page --> 
     <div class = "hidden">   
     <%= form_tag(keywordsearch_path, :method => "get", id: "search-data") do %> 
     <%= text_field_tag :search, params[:search], placeholder: "Search course" %> 
     <%= submit_tag "Search" %> 
     <% end %> 
     </div>  
     <% if @search_degree != nil %> 
     <% end %> 

     <% if @search_degree != nil %> 
     <table border="1" class="table"> 
      <thead> 
      <tr> 
       <th>University Name</th> 
       <th>Course Name</th> 
       <th>Duration</th> 
       <th>Qualification</th> 
       <th>Entry Requirements</th> 
       <th>Course Page</th> 
      </tr> 
      </thead> 
      <tbody> 
      <% @search_degree.each do |degree| %> 
      <tr> 
       <td><%= degree.uname %></td> 
       <td><%= degree.cname %></td> 
       <td><%= degree.duration %></td> 
       <td><%= degree.qualification %></td> 
       <td><%= degree.entry %></td> 
       <td> <a href=<% degree.url %>>View course page on University Website</a></td> 
      </tr> 
      <% end %> 
      </tbody> 
     </table> 
     <% end %> 
    </div> 

下面是搜索控制器的一部分,其中關鍵字搜索被定義:

def keywordsearch 
    @search = Degree.all.select(:uname, :cname, :ucas, :duration, :qualification, :entry).distinct.order(id: :ASC) 
    if params[:search] 
     @search_degree = Degree.search(params[:search]).order('uname ASC') 
    end 
    end 

從所有這一切的鏈路是可點擊的,而不是把我帶到正確的網址它重新搜索。

回答

0

試試這個,而不是硬編碼<a> tag的:

<%= link_to 'View course page on University Website', degree.url %> 

你能不能也發佈網址的樣本?一定要包括協議(例如,http://..。)

+0

這解決了舊問題,但帶來了一個新的。網址現在已包含在網頁的末尾,但不是作爲單獨的鏈接。一個示例鏈接將是http://www.abdn.ac.uk/study/courses/undergraduate/L600/ - http:// www。一開始也是如此。但不是去那裏,它只是在鏈接的末尾添加/%22http://www.abdn.ac.uk/study/courses/undergraduate/L600/%22。任何幫助表示讚賞。 – Akamaru

+0

它似乎是URL中缺少協議(http://)的問題。你有兩個選擇:1)編輯你的數據庫中的所有網址以包含http://或2)做一些類似'link_to'鏈接文本','http://#{degree.url}''' – davideghz

+0

對不起,我不能不知道如何讓協議顯示在評論上。該協議存在於數據庫中。 – Akamaru