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

时间:2010-10-29 06:26:55

标签: ruby-on-rails ruby-on-rails-3

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

<%= render :partial =>"project/header", :locals => {:right_header => 'BLAH BLAH'} %>

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

<div id="header">
<span class="right">
 Standard Header here
</span>
</div>

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

<% if right_header.empty? %>
 default header....
<% else %>
 <%= right_header %>
<% end %>

连连呢?我是否正确地将这个传递给了当地人?

谢谢

1 个答案:

答案 0 :(得分:5)

使用

if defined? right_header

另一种方式是

right_header ||= 'default'
在视图中

。因此,如果未传入right_header,则其值为default。您也可以传入任何值,稍后根据right_header的值执行操作。