我想呈现部分但不显示一个页面的按钮。我的部分看起来像这样;
.reward
%h4== #{number_to_currency(reward.price, precision:0)} Per Month
%h5= test.test
%h6 foo
%p= foo.description
%a.button.button-green{:href => foo(bar)} foo
我称之为
= render partial: 'foo', collection: bar.rewards
如何在不显示按钮的情况下渲染此部分:此行:
%a.button.button-green{:href => foo(bar)} foo
答案 0 :(得分:1)
使用部分渲染传递另一个变量。
部分:
.reward
%h4== #{number_to_currency(reward.price, precision:0)} Per Month
%h5= artist.number_of_supporters
%h6 Supporters
%p= reward.description
- unless nopledge
%a.button.button-green{:href => new_reward_pledge_path(reward)} Pledge
渲染:
= render partial: 'reward', collection: artist.rewards, nopledge: true
对于那些不知道它如何工作的人来说,这很简单:当你在Rails(ERb,HAML,任何东西)中渲染部分时,你可以将部分的变量传递给使用。因此,使用render 'reward', collection: artist.rewards
会为artist.rewards
变量提供“奖励”部分访问权限,但会在您的部分collection
中引用它。所以你可以像上面的代码那样做。