我在我的视图中有observe_form:
<%= observe_form 'new_lead', :url => { :action => 'update_price' }, :frequency => 0.1 %>
,_update_price.rjs 部分和控制器中的这个方法:
def update_price
unless request.xhr?
redirect_to :controller => 'index'
else
set_price_group
render :partial => "update_price",
:locals => { :services => params[:service],
:spectr => params[:spectr] }
end
end
我正在将 rails_2 应用程序升级到 rails_3。在 rails_2 上没有错误,但是当我将项目升级到 rails3 时,prototype.js 的 3484 行出现 javascript 错误:“$(...).getElementsByTagName is not a function”。
getElements: function(form) {
return $A($(form).getElementsByTagName('*')).inject([],
function(elements, child) {
if (Form.Element.Serializers[child.tagName.toLowerCase()])
elements.push(Element.extend(child));
return elements;
}
);},
并且“update_price”不会定期调用。我不知道这是与 Rails 升级有关的问题还是只是 JS 的问题 :( 我该如何解决这个问题?