javascript - Ruby on Rails -> 动态创建 div

标签 javascript ruby-on-rails ruby

我正在开发一个任务管理器应用程序,我想创建 html div“卡片”(带有标题、持续时间等...),其中包含我在 Rails 数据库中获得的所有数据。

我想我必须使用 javascript 函数,但我找不到办法做到这一点。 我在谷歌上看到了很多东西,但我无法找到来自rails Controller 的确切javascript调用(因为我只捕获 Controller 中的所有数据)。

这是我的 Controller :

def new
  # Retrieve all tasks in the project
  @taskModel = Task.new()
  @projectTasks = @taskModel.getProjectTasks()
  # Add tasks on html
  (0..@projectTasks.length).each do |i|
    respond_to do |format|
      format.js { render :js => "window.createTask();" } # I need to pass parameters in the createTask function
    end
  end
end

和我的js文件:

window.createTask = (title, content, duration) ->
  card = document.createElement('div');
  document.getElementsByClassName('content')[0].appendChild(card);

使用我的代码,我收到此错误:ActionController::UnknownFormat

最佳答案

ActionController::UnknownFormat 表示您的 ajax 请求被解释为格式错误的请求。为了更好地回答这一部分,您必须通过 ajax 调用发布 javascript。

其次,您必须重新考虑此 block 中的渲染

(0..@projectTasks.length).each do |i|
    respond_to do |format|
      format.js { render :js => "window.createTask();" } # I need to pass parameters in the createTask function
    end
  end

您多次调用respond_to,这是错误的。将此循环放入 new.js.erb View 中。

关于javascript - Ruby on Rails -> 动态创建 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35632126/

相关文章:

javascript - 使用 JUST 代码在 div 内创建工作表单

ruby-on-rails - Rails 3 中的 fields_for 问题

Ruby DateTime.Parse 到本地时间

ruby 三等

javascript - 将 JavaScript 关联数组转换为 TypeScript

javascript - 将常规 json 转换为 d3.js 的 flare.json?

javascript - Leaflet 在缩放时清除图 block 缓存

ruby-on-rails - Rails + Zurb - 如何确定 CSS 的优先级

ruby-on-rails - 如何使用 Devise 根据用户的角色重定向用户的主(根)路径?

ruby-on-rails - 第一个 Google Drive API files.list 请求返回一个哈希数组,之后,后续请求返回一个文件资源数组。为什么?