gpt4 book ai didi

javascript - 使用 UJS 动态向表添加行

转载 作者:行者123 更新时间:2023-11-28 08:02:00 25 4
gpt4 key购买 nike

我在 Rails 应用程序中使用 UJS 时遇到问题。我需要动态地将内容添加到表格中。问题是,即使是警报功能也无法启动。这是一段代码:_form_index.html.erb

 <%= form_tag create_path, remote: true do %>

<%= text_field_tag :task_name, nil, { class: "textField", placeholder: "Start typing here to create a task...", style: "height:35px;font-size:20px" } %>

<%= hidden_field_tag :status, "uncompleted" %>
<%= hidden_field_tag :project_name, project.name %>

<%= submit_tag "Add Task", class: "btn btn-success buttonTask" %>
<% end %>
<!--- nested render --->
<table class = "table table-bordered table-hover">
<%= render partial: "form_tasks", collection: project.tasks, as: :task %>
</table>

_form_tasks.html.erb

<tr class = "taskProp">
<td class = "checkWidth" >

<%= check_box_tag task.id, task.id, false, class: "check" %>

</td>

<td class = "textWidth"> <p class = "form-control-static textRender"> <%= task.name %> </p> </td>

<td>
<span>

<%= link_to "", nil, remote: true, class: "glyphicon glyphicon-sort colorTask" %>

<%= link_to "", edit_task_path(task), class: "glyphicon glyphicon-pencil colorTask" %>

<%= link_to "", task, method: :delete, remote: true, class: "glyphicon glyphicon-trash colorTask" %>

</span>
</td>
</tr>

然后,如果我提交表单,则会从tasks_controller调用create方法:任务 Controller .rb

def create

project_name = params[:project_name]
project = Project.where( name: project_name ).take!
@task = project.tasks.create( name: params[:task_name], status: params[:status], project_id: project_name )

respond_to do |format|
if @task.save
format.html { redirect_to projects_path, notice: 'Task was successfully created.' }
format.js
else
format.html { redirect_to projects_path }
end
end
end

最后那件事不起作用。我不认为,这部分我需要 AJAX,因为 i-net 中的多个示例在没有 AJAX 的情况下使用它,就像这样 http://bernatfarrero.com/jquery-and-rails-3-mini-tutorial/ 。在任务 View 中创建.js.erb! (因为我正在做一个待办事项列表并且有项目 -> has_many 任务关系)

$(".table-hover").append("<%= escape_javascripts(render(partial: @task)) %>");

所以主要问题是 ujs 根本不起作用。

最佳答案

经过绞尽脑汁,我找到了一个很好的话题来解决我的问题。详细信息是,我的 javascript 遇到了问题,有一次我的 .js.erb 没有渲染。所以这里有一些建议:

  1. 阅读,单击某些远程表单或链接等后,rails 控制台会说什么。检查是否呈现正确的文件,如果完全呈现,则可能会出现错误(如我的情况)。

  2. 阅读此主题 http://www.alfajango.com/blog/rails-3-remote-links-and-forms/了解您的 JavaScript 发生了什么。

关于javascript - 使用 UJS 动态向表添加行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25270336/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com