在字段名称rails中转换字符串

时间:2011-03-22 20:43:32

标签: ruby-on-rails

需要如何将字段名称中的字符串值转换为有效:

示例:

  

<%= “price.list _” + current_user.price.to_s%GT;

所以

  

price.list_1

然后是我真正的字段名称。这个名称。这个字段将用它在我看来做更多的操作。

2 个答案:

答案 0 :(得分:5)

我想我理解你的问题。您需要使用发送功能

<%= price.send("list_#{current_user.price}".to_sym) %>

答案 1 :(得分:1)

这应该可以,但你也可以

<%= "price.list_#{current_user.price.to_s}" %>

<p>
  price.list_<%= current_user.price.to_s %>
</p>

更新:我误解了这个问题。这将需要一些Javascript或AJAX,具体取决于您的确切应用程序。

<强> JS:

:onchange => 'update(this.value)'

function update(new_value) {
  var update_me = document.getElementById('update_this_field');
  update_me.value = new_value;
}

RAILS上的AJAX

:onchange => remote_function(:url => {:action => 'update'}, :with => 'Form.element.serialize(this)'), :name => 'foo'

def update
  bar = params[:foo]
  render :update do |page|
    page.replace_html 'update_this_field', "price.list_" + bar
  end
end