2017-04-10 73 views
0

我的頭文件中有一個菜單,其中包含一個顯示籃和一個登錄按鈕,每個代碼分開放置時都會工作,但兩個線都放在文件中時不會。 我正在爲用戶使用設計。 有沒有更好的方法來鏈接到當前的籃子?鏈接到軌道上的紅寶石的購物車

<li><%= link_to basket_path(@basket.id) do %> 
    <%= image_tag "/assets/viewBasket.png" %> 
</li> 
<% end %> 
<% if signed_in? %> 
    <li><%= link_to edit_user_registration_path do%> 
    <%= image_tag"/assets/my_account.png" %></a></li> 
    <% end %> 
    <li><%= link_to destroy_user_session_path do%> 
    <%= image_tag"/assets/logout.png" %></li> 
    <%end%> 
<% else %> 
    <li><%= link_to new_user_session_path do%> 
    <%= image_tag"/assets/loginRegisterBtn.png" %></li> 
    <% end%> 
<% end %> 

如果我自己運行這個工程,但沒有與代碼之後。

<li><%= link_to basket_path(@basket.id) do %> 
    <%= image_tag "/assets/viewBasket.png" %></li> 
<% end %> 

我認爲它與current_basket模型中的會話id設置當前籃子的方式有關。

module CurrentBasket 
private 
    def set_basket 
    @basket = Basket.find(session[:basket_id]) 
    rescue ActiveRecord::RecordNotFound 
    @basket = Basket.create 
    session[:basket_id] = @basket.id 
    end 
end 

回答

0

我以前的答案上面這一個問題的幫助,但是,我發現,我只定義商店和索引頁面。刪除這個,現在它工作。

include CurrentBasket 
before_action :set_basket, only: [:index, :shop] 
0

<li>收盤必須link結束後,像這樣:

<li> 
    <%= link_to basket_path(@basket.id) do %> 
    <%= image_tag "/assets/viewBasket.png" %> 
    <% end %> 
</li>