和 -6ren">
gpt4 book ai didi

ruby-on-rails - 将类添加到辅助方法调用

转载 作者:太空宇宙 更新时间:2023-11-03 16:23:25 26 4
gpt4 key购买 nike

所以我有一个辅助方法,我试图将 css 应用到它而不将它放在 div 或任何其他元素中。我将如何将 css 类应用到 Rails 中的这个助手?

我试过:

<%= first_letter_content(e.content), :class => "first-letter" %>

<%= (first_letter_content(e.content), :class => "first-letter") %>

两者都导致语法错误,意外的',',期待')'

辅助代码:

def first_letter_content(content) 
first_letter = content[0]
return first_letter
end

有什么建议吗?我一直在努力寻找合适的语法,但运气不佳。

最佳答案

您的助手不支持选项(额外的参数),但您正在尝试为该元素提供 HTML 类。

您应该将 first_letter_content 的内容包装在一个 div/span 中(取决于您想要什么, block 或内联)并将该类应用于此 HTML 元素:

<div class='first-letter'>
<%= first_letter_content(e.content) %>
</div>

或者您可以直接将 content[0] 包装在辅助方法中的 div 中:

def first_letter_content(content, options = {}) 
content_tag(:div, content[0], options)
end

然后像这样使用它:

first_letter_content(content, class: 'first-letter')
first_letter_content(content, class: 'first-letter', id: 'something')
first_letter_content(content)

此外,您可以将辅助方法重构为:

def first_letter_content(content) 
content[0]
end

这是一个小改进,但在 Ruby 中,方法中使用的“最后一件事”将由该方法返回。

例子:

def something
a = 2
b = 3
a
end
# => returns `2`

def something_else
a = 2
b = 3
end
# => returns `3`

def whatever
a = 12
nil
end
# => returns `nil`

关于ruby-on-rails - 将类添加到辅助方法调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29773682/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com