javascript - Rails4 无法在远程调用上呈现正确的部分

标签 javascript ajax ruby-on-rails-4 partial-views

远程链接工作正常,使用 js 格式正确到达 Controller ,然后我尝试根据收到的 params[:id] 渲染不同的部分,但是我的写作有问题...不明白..

在我的布局 View 中

<!-- BEGIN PAGE CONTENT -->
  <div id="page-content">
    <div id='wrap'>
      <%= yield %>
    </div> <!--wrap -->
  </div> <!-- page-content -->
  <!-- END PAGE CONTENT -->

我的SheetsController.rb是:

 class SheetsController < ApplicationController

    respond_to :html, :js

    def show
      sheet = Sheet.find(params[:id])
      @sheet = "sheets/_#{sheet.name}.html.erb"
      respond_to do |format|
        format.js {
          render template: "sheets/sample.js.erb"  
        }
        format.html {
          render template: @sheet  
        }
      end    
    end
  end

在我的 sheets/sample.js.erb 中,我写道

$('#page-content #wrap').html("<%=j render partial: @sheet %>");

错误是:

  ArgumentError - The partial name (sheets/_sample-0.html.erb) 
 is not a valid Ruby identifier; make sure your partial name starts 
 with underscore, and is followed by any combination of let ters, 
 numbers and underscores.:

我的 View 结构是

app
   - views
       - sheets
           sample.js.erb
           _sample-0.html.erb
           _sample-1.html.erb
           _sample-2.html.erb
           show.html.erb

有错吗?感谢您的反馈

最佳答案

我会改变

@sheet = "sheets/_#{sheet.name}.html.erb"

@sheet = "sheets/#{sheet.name}.html.erb"

请让我知道进展如何。

附注我测试确认包含扩展名 .html.erb 或排除扩展名不会影响部分渲染。但如果我包含下划线,则会出现错误。

关于javascript - Rails4 无法在远程调用上呈现正确的部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32256196/

相关文章:

javascript - Angular/Firebase - 从 Firebase 返回键和值

javascript - lua.vm.js ajax 回调触发但未返回数据

ruby-on-rails-4 - 如何在rails引擎下集成rails_config

ruby-on-rails - 在哪里放置在许多 View 中使用的代码

javascript - 了解 AJAX

ruby-on-rails - 计算 Ruby 中日期时间之间的平均天数

javascript - 如何在不移动原始位置的情况下在另一个元素之前插入一个html元素

javascript - 有时我从 javascript 日期函数中得到一个无效日期

javascript - 删除列上的多个光滑轮播箭头

php - 将id插入MYSQL表以进行多图片上传