Ruby on rails 在rails中使用helper方法向HAML标记添加动态属性
所以我想出了一个方法,但是有没有更简单的方法呢? 我只想在第%th个标记后面添加.class,如果params[:sort]==sortBy,我真的需要在helper方法中包含HAML的其余部分吗 这是my helper.rb文件中的my helper方法:Ruby on rails 在rails中使用helper方法向HAML标记添加动态属性,ruby-on-rails,haml,Ruby On Rails,Haml,所以我想出了一个方法,但是有没有更简单的方法呢? 我只想在第%th个标记后面添加.class,如果params[:sort]==sortBy,我真的需要在helper方法中包含HAML的其余部分吗 这是my helper.rb文件中的my helper方法: def yellow?(sortBy,name,id) haml_tag :th, class: "#{'hilite' if params[:sort]== sortBy}" do haml_concat link_to na
def yellow?(sortBy,name,id)
haml_tag :th, class: "#{'hilite' if params[:sort]== sortBy}" do
haml_concat link_to name, movies_path(sort: sortBy),{:id => id}
end
end
这是我的HAML文件:
%tr
- yellow?("title","Movie Title","title_header")
%th Rating
您是否尝试过此解决方案:
%tr
%th{ :class => if params[:sort] == 'sortBy' then 'hilite' end }
= link_to "Movie Title", movies_path(:sort => 'title'), :id => "title_header"
%th Rating
您可以将此语句移动:
如果参数[:sort]='sortBy',则将'hilite'结束
移动到帮助器。看看我类似的回答:。你也可以这样做:
app/helpers/some_helper.rb
app/views/some.html.haml
我使用这种方法创建了一个span_field_opts助手,通过引导类模拟禁用的字段:
def span_field_opts
{ class: "form-control cursor-none", disabled: true }
end
参考资料:谢谢,这是一个更好的解决方案!这和我想要的一样。感谢
%tr
%th{ hilite }
= link_to "Movie Title", movies_path(:sort => 'title'), :id => "title_header"
%th Rating
def span_field_opts
{ class: "form-control cursor-none", disabled: true }
end