将变量传递给rails部分

时间:2012-05-24 22:04:10

标签: ruby-on-rails-3

所以基本上在我的部分我有以下代码行

...
<%= " active" if current_user."#{prop_row}" == "repeat-x" %>
...

所以我尝试使用以下方法传递以下变量“prop_id”,“prop_row”:

<%= render :partial => "users/image_props/repeat", :prop_id => "mbr", :prop_row => "main_background_repeat" %>

我收到错误

/Users/codyjames408/rails/moz/app/views/users/image_props/_repeat.html.erb:4: syntax error, unexpected tSTRING_BEG
...= ( " active" if current_user."#{prop_row}" == "repeat-x" );...
...     

                      ^

我认为错误是因为它附加了一个字符串而不是row方法。但我正在试着想办法解决这个问题。

我很想把它变成一个大帮手方法或其他东西!我只是不知道......

1 个答案:

答案 0 :(得分:2)

如果prop_row是一个包含属性名称的字符串,你可以这样做:

<%= " active" if current_user.attributes[prop_row] == "repeat-x" %>

或者使用它:

<%= " active" if current_user.send(prop_row.to_sym) == "repeat-x" %>