我试图将一个长if语句移出我的视图并转换为辅助方法。
我目前有:
module ProfilesHelper
def items_for_profile_menu(profile)
if current_user = @profile.user_id
"<li class="col-xs-4 col-sm-2 nopadding menuitem" style="background:#006F7F">
<a href="index.html" class="hvr-sweep-to-bottom">
# link_to dashboard_path(@profile.dashboard)
<span>Dashboard</span>
</a>
</li>
<li class="col-xs-4 col-sm-2 nopadding menuitem" style="background:#39AFBF">
<a href="#resume" class="hvr-sweep-to-bottom">
<!-- <i class="flaticon-graduation61"></i> --><br><br>
<span>Timeline</span></a>
</li>"
<% else %>
"<li class="col-xs-6 col-sm-3 nopadding menuitem orange">
<a href="#stats" class="hvr-sweep-to-bottom"><i class="flaticon-placeholders4"></i><span>Impact</span></a>
</li>
<li class="col-xs-6 col-sm-3 nopadding menuitem red">
<a href="#feedback" class="hvr-sweep-to-bottom"><i class="flaticon-earphones18"></i><span>Feedback</span></a>
</li>"
<% end %>
end
end
我陷入困境,想知道我是否可以在助手本身写css?如果可以,我怎样才能了解使其运行所需的修改?在视图中我能够写出:background:#006F7F在列表项中。如果我将其添加到帮助程序 - 然后收到#作为注释。
有谁能看到如何使用CSS设置辅助方法?
答案 0 :(得分:0)
例如使用.html_safe
:
def my_name
name = "<h1>Eric Santos!</h1>"
name.html_safe
end
希望你明白这个想法!
答案 1 :(得分:0)
您没有在代码中正确终止字符串。一个双引号("
)将终止之前的双引号("
)。因此,您的字符串被视为"<li class="
作为一个字符串,并在此之后查找"
,如果不是这样,您将收到错误。
因此,对于在一个大字符串中声明类,在一个大的双引号('
)字符串中使用单引号("
)并将每个大字符串与(+
)连接起来。
要添加课程,请使用单引号"<li class='col-xs-4 col-sm-2 nopadding menuitem'>Hi </li>"
+
"<li class='col-xs-4 col-sm-2 nopadding menuitem'>Hello </li>"
更改您的代码,如下所示。
module ProfilesHelper
def items_for_profile_menu(profile)
if current_user = @profile.user_id
"<li class='col-xs-4 col-sm-2 nopadding menuitem' style='background:#006F7F'>
<a href='index.html' class='hvr-sweep-to-bottom'>
<span>Dashboard</span></a>
</li>
<li class='col-xs-4 col-sm-2 nopadding menuitem' style='background:#39AFBF'>
<a href='#resume' class='hvr-sweep-to-bottom'>
<span>Timeline</span></a>
</li>"
else
"<li class='col-xs-6 col-sm-3 nopadding menuitem orange'>
<a href='#stats' class='hvr-sweep-to-bottom'><i class='flaticon-placeholders4'></i><span>Impact</span></a>
</li>
<li class='col-xs-6 col-sm-3 nopadding menuitem red'>
<a href='#feedback' class='hvr-sweep-to-bottom'><i class='flaticon-earphones18'></i><span>Feedback</span></a>
</li>"
end
end
end