如何为 Rails 中的部分参数提供默认值?
How to provide defaults value for partial parameters in Rails?
我需要渲染一个共享部分,它可以从多个视图接收一些参数,但我不想每次都传递所有参数。如果我在没有所有参数的情况下调用模板,则会出现错误。
有没有办法定义参数的默认值,只有在调用时没有定义参数的情况下才可以render 'name_of_partial
?
阅读文档并摸不着头脑后,我能够为未传递给模板的参数定义默认值。
# in views/shared/template.html.erb
<% my_param = 'default_value' unless binding.local_variable_defined?(:my_param) %>
# Now you can call the partial with or without setting `my_param`
# Now you can call the partial without parameters...
<%= render 'shared/my_template' %>
# ...or with parameters
<%= render 'shared/my_template', my_param: 'non-default value' %>
使用 Ruby 2.3.1 及更高版本进行测试。
这应该可以解决问题:
<% my_param ||= 'default value' %>
包含此内容的部分可以在提供或不提供 my_param
的情况下呈现。
我需要渲染一个共享部分,它可以从多个视图接收一些参数,但我不想每次都传递所有参数。如果我在没有所有参数的情况下调用模板,则会出现错误。
有没有办法定义参数的默认值,只有在调用时没有定义参数的情况下才可以render 'name_of_partial
?
阅读文档并摸不着头脑后,我能够为未传递给模板的参数定义默认值。
# in views/shared/template.html.erb
<% my_param = 'default_value' unless binding.local_variable_defined?(:my_param) %>
# Now you can call the partial with or without setting `my_param`
# Now you can call the partial without parameters...
<%= render 'shared/my_template' %>
# ...or with parameters
<%= render 'shared/my_template', my_param: 'non-default value' %>
使用 Ruby 2.3.1 及更高版本进行测试。
这应该可以解决问题:
<% my_param ||= 'default value' %>
包含此内容的部分可以在提供或不提供 my_param
的情况下呈现。