2017-09-26 82 views
0

好,我很新的Rails的,所以請耐心等待:)導軌 - 高清搜索問題

我不知道如何構建在頁面控制器的高清搜索,這樣它返回正確的結果(現在結果是空白的)。 我正在修改課程代碼到我的項目中。原始課程展示瞭如何通過地址搜索房間,而不是通過下拉屬性選擇。它還按距離而不是價格排列結果。這是我爲我的項目提出的:

def search 
    # STEP 1 
    if params[:search].present? && params[:search].strip != "" 
     session[:loc_search] = params[:search] 
    end 

    # STEP 2 
    if session[:loc_search] && session[:loc_search] != "" 
     @rooms_type = Room.where(active: true).order(session[:loc_search], order: 'price') 
    else 
     @rooms_type = Room.where(active: true).all 
    end 

    # STEP 3 
    @search = @rooms_type.ransack(params[:q]) 
    @rooms = @search.result 

    @arrRooms = @rooms.to_a 

    end 

我敢肯定,在def搜索中有幾個錯誤..有人可以幫我弄清楚這一點嗎?

這是我的房間模型屬性。

class CreateRooms < ActiveRecord 
    def change 
    create_table :rooms do |t| 
     t.string :type 
     t.timestamps 
    end 
    end 
end 

搜索主頁上的小部件的結構通過以下方式:

<%= form_tag search_path, method: :get do %> 
    <div class="row"> 
    <div class="col-md-7"> 
     <%= select_tag :type, options_for_select([['Single', 1], ['Double', 2]]), ,class: "form-control" %> 
    </div> 

    <div class="col-md-2"> 
     <%= submit_tag "Search", class: "btn btn-normal btn-block" %> 
    </div> 
    </div> 

<% end %> 

搜索頁面進行以下操作:

<div class = "row"> 
    <% @rooms.each do |room| %> 
    <div class = "col-md-4"> 
     <div class = "panel panel-default"> 
     <div class = "panel-heading preview"> 
      <% image_tag room.cover_photo (:medium) %> 
     </div> 
     <div class = "panel-body"> 
      <% link_to room.type, room %> 
     </div> 
     </div> 
    </div> 
    <% end %> 
</div> 

謝謝。

基於@crispychicken反饋更新的代碼 - 見截圖在這裏輸入的形象描述

enter image description here

+0

什麼問題? - 我認爲你需要添加'='到你的image_tag和link_to助手。 –

+0

您遇到搜索表單或頁面結果有問題嗎? – rogelio

+0

隨着頁面的結果..它總是空白,沒有結果顯示... – Lily

回答

0

第一問題:你的模型的內容是錯誤的。它屬於遷移。此外,缺少activeprice屬性。我認爲屬性type受到保護。你應該將它重命名爲RoomType。

要創建遷移:

​​

然後做rails db:migrate

第二期:

在你的控制器,在第2步更改代碼以:

@rooms_type = Room.where(active: true, room_type: session[:loc_search]).order(:price) 

而且您必須將type更改爲room_type無處不在文件中。

+0

作出了你所建議的更改,但搜索頁面仍然是空白..我附加了原始問題的更改截圖(我只用了臥室而不是room_type)。我錯過了什麼?是否有可能與頁面控制器中的[:loc_search]有關?我從課程中重用了它,並不確定它是否與select_tag搜索選項有關。謝謝 – Lily

+0

解決!不要問我是怎麼做到的,但它現在可以工作!!!!! – Lily