将form_for对象传递给rjs中的partial

时间:2012-09-25 11:09:59

标签: ruby-on-rails

我有一个带有字段位置的表单。根据选择的位置值,显示部分值。

<% form_for @expression, :url => { :controller => "expressions", :action => "update" } do |f| %>

Location: <%= f.select(:lcn_location, [['loc_A', 'loc_A'],
    ['loc_B', 'loc_B'],
    ['loc_B', 'loc_B']
  ]) %>

<!--observe location field-->
<%= observe_field(form_tag_id(f.object_name,:lcn_location),
  :url => {:controller => 'expressions',
    :action => :display_field},
  :with => "'location_value='+value+'&form_object=#{f}'"   //here i am passing the form object
) %>

<% end %>

** display_field.rjs

if (params[:location_value] == 'loc_A')
   page.replace(div_id,  :partial => "adjacent_to_location", :locals => {:f => params[:form_object]} );
else
 page.replace_html div_id, 'Hello World!'
end

** _ adjacent_to_location.html.erb

<%= f.text_field  :lcn_adjacent_to , { :size => 55} %>

我的问题是如何使用rjs将表单对象传递给partial?以上不起作用。

非常感谢你的帮助。

1 个答案:

答案 0 :(得分:1)

变化

<%= f.text_field  :lcn_adjacent_to , { :size => 55} %>

<%= text_field_tag :expression, :lcn_adjacent_to , { :size => 55} %>