Rails - 在部分中传递选项变量

The*_*xit 2 ruby-on-rails ruby-on-rails-3

我正在为视图构建一个标题部分.我称之为部分如下:

<%= render :partial =>"project/header", :locals => {:right_header => 'BLAH BLAH'} %>
Run Code Online (Sandbox Code Playgroud)

标头有一个默认的right_header,但是我想要覆盖它的选项:

<div id="header">
<span class="right">
 Standard Header here
</span>
</div>
Run Code Online (Sandbox Code Playgroud)

这个交易是在调用partial时,right_header并不总是被定义,我希望它是可选的,但那就是我在努力的地方并且rails一直在出错......在部分我一直在尝试:

<% if right_header.empty? %>
 default header....
<% else %>
 <%= right_header %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

建议?我是否正确地将这个传递给当地人?

谢谢

nop*_*ole 5

使用

if defined? right_header
Run Code Online (Sandbox Code Playgroud)

另一种方式是

right_header ||= 'default'
Run Code Online (Sandbox Code Playgroud)

在视图中.所以如果right_header没有传入,它的值将是default.你也可以传递任何值,然后根据值来做事right_header.