我正在try 让一些Javascript在我的Rails应用程序中运行.

我想让我的索引页允许我编辑索引页上的单个项目,然后在编辑后重新加载索引页.

我的索引.html.erb页面看起来像:

<div id="index">
<%= render 'index' %>
</div>

在我的索引中.js.雇员再培训局:

$('#index').html("<%=j render 'index' %>");

在我的控制器中:

def edit
  holder = Holder.find(params[:id])
 end

def update
  @holder = Holder.find(params[:id])
  if @holder.update_attributes(params[:holder])
    format.html { redirect_to holders_path } #, flash[:success] = "holder updated")
    ## ^---Line 28 in error
    format.js
  else
    render 'edit'
  end
end

当我加载索引页面时,一切正常.单击"编辑"按钮并提交表单后,我会得到以下信息:

在此处输入图像描述

但如果我返回并刷新索引页,编辑内容就会被保存.我做错了什么?

推荐答案

你忘了写responds_to块:

def update
  @holder = Holder.find(params[:id])
  if @holder.update_attributes(params[:holder])
    respond_to do |format|
      format.html { redirect_to holders_path } #, flash[:success] = "holder updated")
      format.js
    end
  else
    render 'edit'
  end
end

但我对你的指数表示怀疑.html.呃,我不认为这会像你想的那样起作用.

Ruby-on-rails相关问答推荐

使用RubyZip处理大型压缩文件:65535个文件的限制

在控制器操作中适当使用ActiveModel Dirty

我使用rbenv安装Ruby,但我在使用";gem";->;错误:执行gem时遇到此错误.(Errno::EACCES)权限被拒绝

如何将POST-CSSS-IMPORT与TRANWIND-RACKS和IMPORT映射一起使用

ActiveRecord::声明在类别中无效#new

Puma 工作人员无法在 Ubuntu 20.04 VM 上的 Rails 5.2 中启动

我可以向 erb 变量插值添加一个类吗?

使用brew 软件安装了 elasticsearch,但找不到配置文件

在 rails 3 中设置记录器

判断 DateTime 值是今天、明天还是以后

从 ActiveRecord 模型的集合中构建哈希

运行多个 Rails Server 实例

警告:引用了顶级常量

设计记住我和会话

在 Ruby on Rails 中循环对象属性

确认后如何进行设计重定向

Ruby中的参数化获取请求?

在 Rails 中命名布尔列

Ruby 安装的 RVM 不工作?

Ruby on Rails:Cucumber:我如何获取单个功能?