2017-03-12 3 views
1

私は前のページボタンを作成しています。これは私のボタンです: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> 

私は意味、私は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

利用トニーが示唆されたが、トニーのアプローチは少し欠陥があるとして、条件Rubyでは0がfalseではないためです。試してみてください

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

+0

私はTonyの答えをタイミングのために解決策としてマークしました。とにかくありがとう。 –

+0

ロジックに欠陥がありますが、変更することを忘れないでください。 – RSB

+0

はい、私はそれを得ました。ありがとうございました。 –

関連する問題