使用苗条语法有条件地将类添加到link_to

Chr*_*ung 1 ruby ruby-on-rails slim-lang

我有一个链接,代码如下:

= link_to 'Payment', account_payment_path, class:{'active'}
Run Code Online (Sandbox Code Playgroud)

并且我想向视图添加条件逻辑,因此如果action_name相同,则添加类active

然后,我更改为以下代码

= link_to 'Payment', account_payment_path, class:{'active' if action_name == 'payment'}
Run Code Online (Sandbox Code Playgroud)

但这会导致错误。我该如何解决。

Dev*_*wen 5

如果您想获得活动链接,可以为该active_link_to创建一个gem 生成器,您可以像这样使用它,它将为您添加活动类:

=active_link_to 'Payment', account_payment_path
Run Code Online (Sandbox Code Playgroud)

对于您的问题,您可以使用以下方法:

= link_to 'Payment', account_payment_path, class: (action_name == 'payment' ? 'active' : '')
Run Code Online (Sandbox Code Playgroud)