所以基本上在我的部分我有以下代码行
...
<%= " 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方法。但我正在试着想办法解决这个问题。
我很想把它变成一个大帮手方法或其他东西!我只是不知道......
答案 0 :(得分:2)
如果prop_row是一个包含属性名称的字符串,你可以这样做:
<%= " active" if current_user.attributes[prop_row] == "repeat-x" %>
或者使用它:
<%= " active" if current_user.send(prop_row.to_sym) == "repeat-x" %>