我正在修复项目前端的rails开源项目中的ruby中的bug。我是ruby on rails,HAML等的新手。以下代码行给了我很多麻烦。
我想知道格式化这是什么样的正确方法。还有,有没有办法编写辅助函数来将条件转换为函数调用?任何帮助将不胜感激。
我尝试了几种格式,但开发人员希望我将if-else分解成几行。我无法做那项工作。
6: %strong =
7: "#{
8: - if @enterprise.is_primary_producer
9: = t('.producer_profile')
10: - else
11: = t('.profile')
我希望渲染视图,但我得到语法错误。
像这样的东西?
%strong
- if @enterprise.is_primary_producer
= t('.producer_profile')
- else
= t('.profile')
我个人会这样做:
- t_key = @enterprise.is_primary_producer ? '.producer_profile' : '.profile'
%strong= t(t_key)
如果要将其移动到帮助器,只需在application_helper.rb中的某个位置定义它
def some_name_for_the_method(enterprise)
t_key = enterprise.is_primary_producer ? '.producer_profile' : '.profile'
I18n.t(t_key)
end
并在视图上
%strong= some_name_for_the_method(@enterprise)