将局部变量注入 rails partial
Inject local variables into rails partial
我希望下面的部分从通过本地人注入的 classy
class 中获取,但我一直在为 classy.
获取未定义的方法
//查看
<%= render layout: "layouts/partial", locals: {className: "classy"} do %>
...
<% end>
//部分
<div class="regular-div <%=className if className?%>"></div>
要检查是否设置了局部变量,请使用 local_assigns.has_key?(:some_key)
或 local_assigns[:some_key]
来安全地访问局部变量。
处理构建 类 列表的常见任务的一种绝妙方法是:
module ApplicationHelper
# Takes an array or list of classes and returns a string
# Example:
# class_list('a', 'b', nil, 'c')
# => "a b"
# class_list(['a', 'b', nil, 'c'])
# => "a b c"
def class_list(*classes)
[*classes].flatten.compact.join(' ')
end
end
那么你可以这样做:
<div class="<%= class_list('regular-div', local_assigns[:className]) %>"></div>
我希望下面的部分从通过本地人注入的 classy
class 中获取,但我一直在为 classy.
//查看
<%= render layout: "layouts/partial", locals: {className: "classy"} do %>
...
<% end>
//部分
<div class="regular-div <%=className if className?%>"></div>
要检查是否设置了局部变量,请使用 local_assigns.has_key?(:some_key)
或 local_assigns[:some_key]
来安全地访问局部变量。
处理构建 类 列表的常见任务的一种绝妙方法是:
module ApplicationHelper
# Takes an array or list of classes and returns a string
# Example:
# class_list('a', 'b', nil, 'c')
# => "a b"
# class_list(['a', 'b', nil, 'c'])
# => "a b c"
def class_list(*classes)
[*classes].flatten.compact.join(' ')
end
end
那么你可以这样做:
<div class="<%= class_list('regular-div', local_assigns[:className]) %>"></div>