也許這比我想的簡單,但有問題得到這個工作。我有一個的link_to塊有條件的link_to塊
<%= link_to(@animal.previous_animal, {class: 'prev-page'}) do
<span class="glyphicon glyphicon-chevron-left"></span> Meet <span class="name"><%= @animal.previous_animal.name %></span>, the <%= animal_breed(@animal.previous_animal) %>
<% end %>
但我只想要顯示的鏈接,如果一個previous_animal一個的link_to中存在
def previous_animal
animal = self.class.order('created_at desc').where('created_at < ?', self.created_at)
animal.last if animal
end
通常我可以做
<%= link_to(@animal.previous_animal) if @animal.previous_animal %>
但我正在逐漸未定義的方法'名稱'當我添加if子句,所以它仍然運行<%= @ animal.previous_animal.name%>,即使我認爲它是在if語句內?
<%= link_to(@animal.previous_animal, {class: 'prev-page'}) if @animal.previous_animal do
<span class="glyphicon glyphicon-chevron-left"></span> Meet <span class="name"><%= @animal.previous_animal.name %></span>, the <%= animal_breed(@animal.previous_animal) %>
<% end %>
任何幫助表示讚賞。
您應該在控制器中定義'@ animal','@ previous_animal'和'@ next_animal'。那麼你的邏輯就可以查詢這些變量。您也可以在一次點擊中加載它們。 – 2014-10-02 14:05:09
像@previous_animal = Animal.previous_animal?作爲一個例子 – Richlewis 2014-10-02 14:16:03
'@previous_animal = @ animal.previous_animal' – 2014-10-02 14:49:19