我需要在某些页面上显示使用button_to
创建的两个按钮(例如:list/id1/edit
)并在所有其他页面上隐藏一个按钮(例如:list/new
)。我有这个:
= button_link t("list.save"), list_path(@list.save_id), class: "button"
= button_link t("list.cancel"), list_path(@list.hashed_id), class: "button"
如何创建“如果您在第X页上显示一个按钮,否则 - 2个按钮”?
答案 0 :(得分:3)
请查看此文档 - http://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#method-i-current_page-3F
将其用作
current_page?('http://www.example.com/shop/checkout')
答案 1 :(得分:2)
我喜欢@ arjun的答案(特别是@ RyanWilcox的评论),虽然只是为了把其他东西扔进戒指,你也可以访问controller_name
和action_name
帮助...... / p>
即
unless controller_name == 'list' && action_name == 'new'
show_the_button
end
或
- unless controller_name == 'list' && action_name == 'new'
= button_link t("list.save"), list_path(@list.save_id), class: "button"
= button_link t("list.cancel"), list_path(@list.hashed_id), class: "button"
在限制/允许某些控制器和/或操作方面,这可以非常灵活。