2017-03-12 17 views
1

我正在創建一個Previous Page按鈕。這是我的按鈕:Rails在link_to中更改html元素屬性

<li> 
<%= link_to "Previous Page", titles_path(:page => @previous_page), class:"button big previous" %> 
</li> 

如果頁面爲0,則應該禁用它。我的新按鈕應該是這樣的:

<li> 
<%= link_to "Previous Page", titles_path(:page => @previous_page), class:"disabled button big previous" %> 
</li> 

我的意思是,我應該根據的if-else我的代碼應該改變類我按鈕使用的if-else中的link_to和。

我該怎麼做?

回答

1

可以使用條件操作? :插入一些直接進入類字符串:

<li> 
<%= link_to "Previous Page", titles_path(:page => @previous_page), class:"#{@previous_page != '0' ? '' : 'disabled'} button big previous" %> 
</li> 

或簡單地使用<% if %> <% else %>

<% if @previous_page != '0' %> 
    <li> 
    <%= link_to "Previous Page", titles_path(:page => @previous_page), class:"button big previous" %> 
    </li> 
<% else %> 
    <li> 
    <%= link_to "Previous Page", '', class:"disabled button big previous" %> 
    </li> 
<% end %> 
2

使用條件作爲託尼的建議,但Tony的做法是有點瑕疵因爲0在Ruby中不是錯誤的。試試這個

= link_to 'Previous Page', titles_path(page: @previous_page), class: "#{(@previous_page == '0') ? 'disabled' : ''} button big previous" 

希望有幫助!

+0

由於時間原因,我將Tony的答案標記爲解決方案。不過謝謝。 –

+0

那裏的邏輯是有缺陷的,別忘了改變它。 – RSB

+0

是的,我明白了。謝謝。 –