レールヘルパーをhamlビューと一緒に使用する方法を最もよく理解しようとしています。
もともとこのロジックを含んでいたビューがあります
= fund_levels_last(i, @fund_level_count) ? ( link_to "add new level", ad, {class: 'button orange sm'} ) : ( link_to "remove", accounts_ad_fund_level_path(ad, fl.object.id), {:class => 'button orange sm', :method => :delete, :remote => true, :confirm => t('q.are_you_sure')} )
ビューをコードからできるだけきれいに保ちたいので、このロジックをヘルパーに移動しようとしています。
def fund_levels_last(i, flcount)
if i == flcount
true
else
false
end
end
def fund_levels_btn(i, flcount)
if self.fund_levels_last(i, flcount)
link_to "add new level", ad, {class: 'button orange sm'}
else
link_to "remove", accounts_ad_fund_level_path(ad, fl.object.id), {:class => 'button orange sm', :method => :delete, :remote => true, :confirm => t('q.are_you_sure')}
end
end
ただし、ヘルパーでは、ビュー内の変数とオブジェクト (ad、object、fl など) にアクセスできません。これらすべてをヘルパー メソッドに渡すことができると思いますが、どういうわけか複雑すぎて、ここで間違った道を進んでいるような気がします。ビュー内の私の 1 行のコードは、ヘルパー内の 15 行のコードになってしまうようです...
このロジックをビューからヘルパーに移動する最も簡単な方法は何でしょうか?