Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails “RJS错误”;对象没有';“我不支持这项财产”;关于元素更新_Ruby On Rails_Ajax_Jquery_Rjs - Fatal编程技术网

Ruby on rails “RJS错误”;对象没有';“我不支持这项财产”;关于元素更新

Ruby on rails “RJS错误”;对象没有';“我不支持这项财产”;关于元素更新,ruby-on-rails,ajax,jquery,rjs,Ruby On Rails,Ajax,Jquery,Rjs,我在控制器中有以下代码。 我正在根据另一个下拉框中的选择动态填充下拉框 def update_releases project = Project.find(params[:project_id]) releases = project.releases puts "releases==#{releases}" render :update do |page| page.replace_html 'releases', :partial => 'release

我在控制器中有以下代码。 我正在根据另一个下拉框中的选择动态填充下拉框

def  update_releases 
  project = Project.find(params[:project_id]) 
  releases = project.releases
  puts "releases==#{releases}" 
  render :update do |page| 
  page.replace_html 'releases', :partial => 'releases', :object => releases 
end 
查看代码:

-form_tag reports_path(report_type=1),:method => :get, :multipart => true ,:id => "filter" do  
%table.grid.full
%tr      
  %td.grid.full_panels{:style => "width: 20%"}
    Project:
  %td.grid.full_panels{:style => "width: 20%"}
    //= select_tag "projects",options_from_collection_for_select(projects,"id","name",params[:projects]),{:onchange => "#{remote_function(:url  => {:action => "update_releases"},:with => "'project_id='+value")}"} 
    = select_tag "projects",options_from_collection_for_select(projects,"id","name",params[:projects]), :class => "update_releases"


  %td.grid.full_panels{:style => "width: 20%"}
    Releases:
  %td.grid.full_panels{:style => "width: 20%"}
    <div id="releases">
    = render :partial => 'releases', :object => @releases
  %td.grid.full_panels{:style => "width: 20%"}
    Cycles:
  %td.grid.full_panels{:style => "width: 20%"}
    <div id="cycles">
    = render :partial => 'cycles', :object => @cycles

%tr      
  %td.grid.full_panels{:style => "width: 20%"}
  %td.grid.full_panels{:style => "width: 20%"}
  %td.grid.full_panels{:style => "width: 20%"}
    =submit_tag "Submit"

= javascript_include_tag "pages/ic"

我在更改下拉框中的选择时弹出一个错误元素“不支持此属性”。请在此处帮助我。

作为简单的解决方法,请尝试在控制器中使用此代码:

respond_to do |format| 
  format.js render :partial => 'releases', :locals { :releases => releases }
end
releases.js.haml
中:

   $('#releases').html('#{render :partial => '<some_old_html_partial>', :locals => {:releases => releases}}')
$('#releases').html('#{render:partial=>'',locals=>{:releases=>releases}}})

作为简单的解决方法,请尝试在控制器中使用此代码:

respond_to do |format| 
  format.js render :partial => 'releases', :locals { :releases => releases }
end
releases.js.haml
中:

   $('#releases').html('#{render :partial => '<some_old_html_partial>', :locals => {:releases => releases}}')
$('#releases').html('#{render:partial=>'',locals=>{:releases=>releases}}})

1.在哪里定义了
循环
?2.添加一些查看代码以查看全貌..您好,我已经添加了完整的代码。另外,请让我知道是否需要在jquery中对包含页面进行一些更改。替换html。使用
#释放
而不是
:看起来您的HAML无效。检查客户端的html输出ide有发布版本和周期div。发布版本和周期存在。Replace_html使用原型。有人能告诉我相应的jquery方法吗?
Replace_html
是RJS方法。它将您的ruby编译成JS。如果您将原型设置为RJS后端,那么将使用原型方法,jQuer也是如此y、 至于html的替换:请参见[()1.定义了
cycles
的位置?2.添加一些查看代码以查看完整图片..您好,我已经添加了完整的代码。另外,请让我知道是否需要在jquery中对包含页面进行一些更改。替换html.Use
\releases
而不是
:看起来您的HAML无效。检查客户端的html输出是否正确有发布和周期div。有发布和周期。Replace_html使用prototype。有人能告诉我相应的jquery方法吗?
Replace_html
是RJS方法。它将您的ruby编译成JS。如果您将prototype设置为RJS后端,那么将使用prototype方法,jquery也是如此。如f或者替换html:请参见[()上的方法
html()
,Hi代替应该给出的内容。Hi代替的应该是要呈现的模板名称,它应该替换客户端上现有的html。例如,“releases”(如在您的帖子中)。请注意使用正确的名称,因为会有发行版。**js**.haml和发行版。**html**.haml,您将负责告诉Rails要呈现哪个模板(通过告诉呈现:file=>''或其他方式).Hi代替应该给出的内容。Hi代替应该是要呈现的模板名称,该名称应替换客户端上现有的HTML。例如,“releases”(如在您的帖子中)。请注意使用正确的名称,因为会有发行版。**js**.haml和发行版。**html**.haml,您将负责告诉Rails要呈现哪个模板(通过告诉呈现:file=>''或其他方式)。