在我的rails 4应用程序中,我使用haml。并在视图中我写了这样的字符串:
%td= link_to admin_organization.introtext[0..40]+"...", admin_organization_type_organization_path(organization_type_id: admin_organization.organization_type_links.map { |e| e.organization_type_id }, id: admin_organization)
但是当这个字段时," introtext"是空的,我得到错误,我的应用程序崩溃。
我知道怎么检查它:
-if admin_organization.introtext.present?
blablabla
但这是长代码。也许有其他方法可以做到这一点?写字符串切片并检查它是否为空 - 这没有发送此link_to?
答案 0 :(得分:1)
使用link_to_if
,对于切片,我会使用truncate
文本助手方法:
%td= link_to_if admin_organization.introtext.present?, truncate(admin_organization.introtext, length: 40), admin_organization_type_organization_path(organization_type_id: admin_organization.organization_type_links.map(&:organization_type_id), id: admin_organization)
并注意到:您确定要将一系列ID传递给organization_type_id
吗?如果您使用RESTful路由,这似乎没有多大意义。