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
從所有這一切的鏈路是可點擊的,而不是把我帶到正確的網址它重新搜索。
這解決了舊問題,但帶來了一個新的。網址現在已包含在網頁的末尾,但不是作爲單獨的鏈接。一個示例鏈接將是http://www.abdn.ac.uk/study/courses/undergraduate/L600/ - http:// www。一開始也是如此。但不是去那裏,它只是在鏈接的末尾添加/%22http://www.abdn.ac.uk/study/courses/undergraduate/L600/%22。任何幫助表示讚賞。 – Akamaru
它似乎是URL中缺少協議(http://)的問題。你有兩個選擇:1)編輯你的數據庫中的所有網址以包含http://或2)做一些類似'link_to'鏈接文本','http://#{degree.url}''' – davideghz
對不起,我不能不知道如何讓協議顯示在評論上。該協議存在於數據庫中。 – Akamaru