首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Ruby on Rails ->动态创建div

Ruby on Rails ->动态创建div
EN

Stack Overflow用户
提问于 2016-02-25 23:53:07
回答 1查看 580关注 0票数 1

我在一个任务管理器应用程序上工作,我想创建html div‘卡片’(带有标题、持续时间等),将我在rails中获得的所有数据保存在数据库中。

我想我必须使用javascript函数,但是我没有办法做到这一点。我在google上看到了很多东西,但我找不到来自rails控制器的javascript调用(因为我只捕获控制器中的所有数据)。

这是我的控制器:

代码语言:javascript
运行
复制
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文件:

代码语言:javascript
运行
复制
window.createTask = (title, content, duration) ->
  card = document.createElement('div');
  document.getElementsByClassName('content')[0].appendChild(card);

在我的代码中,我得到这个错误:ActionController::UnknownFormat

EN

回答 1

Stack Overflow用户

发布于 2016-04-02 02:44:57

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

其次,您必须重新考虑此块中的render

代码语言:javascript
运行
复制
(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视图中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35632126

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档