如何通过单击Rubyonrails视图中的按钮来更新数据库中的多个表
How to update multiple tables in db with a single click of a button in view in Rubyonrails?
我有一个模块有 3 个模型。在视图中,我已经获取了这些值,并在视图中以表格格式显示这些值。现在,如果我编辑了表中的值并单击"保存"按钮,则应在 db 中的相应表中更新相应的值,并返回到具有相同 id 的同一视图。我该如何完成此操作?
如果我在视图中的表中添加了一行和相应的值,则这些值也应添加到各自的表中。
<table>
<%@task.each do |task|%>
<tr id="task-<%=task.id%>">
<td>task.name</td>
</tr>
<%@subtask.each do |subtask|%>
<tr id="subtask-<%=subtask.id%>">
....
</tr>
<% end %>
<% end %>
</table>
现在单击"保存"按钮,子任务模型应使用子任务进行更新,并且任务模型应使用任务进行更新。子任务模型引用任务模型,任务模型引用发票模型。虽然获取值发票 ID 是基础,但基于此提取任务和子任务。
我想根据Invoice_ID更新模型中的值。我不想重定向,因为我应该在同一个视图中,并且数据应该在数据库中更新。
你混淆了模型、视图、控制器的概念。如果你想通过视图编辑某些东西并想要更改数据库,那么你必须在你的视图中使用某种形式,你可以在其中编辑值,相应地,你必须在你的控制器中有一个方法来处理那个post请求。在控制器中,您必须将这些值保存在表中。例如,这里是将接受输入的视图
<h1>Update your profile</h1>
<div class="row">
<div class="col-md-6 col-md-offset-3">
<%= form_for(@user) do |f| %>
<%= f.label :name %>
<%= f.text_field :name, class: 'form-control' %>
<%= f.label :email %>
<%= f.email_field :email, class: 'form-control' %>
<%= f.label :password %>
<%= f.password_field :password, class: 'form-control' %>
<%= f.label :password_confirmation, "Confirmation" %>
<%= f.password_field :password_confirmation, class: 'form-control' %>
<%= f.submit "Save changes", class: "btn btn-primary" %>
<% end %>
<div class="gravatar_edit">
<%= gravatar_for @user %>
<a href="http://gravatar.com/emails">change</a>
</div>
</div>
</div>
其对应的控制器是用户控制器:
def edit
@user = User.find(params[:id])
end
def user_params
params.require(:user).permit(:name, :email, :password,
:password_confirmation)
end
其中姓名、电子邮件、密码是数据库中的表字段
相关文章:
- 如何在执行 Ajax 请求大量数据库更新时实现进度条
- 用sql数据库更新谷歌地图标记
- 数据库更新后刷新数据表
- 通知浏览器数据库更新的最佳方法
- AJAX 数据库更新
- 数据库更新的用户确认 - php + Ajax
- 如何使用 typicode/lowdb 文件数据库更新项目数组
- 如何在数据库更新时向客户端发送警报,如facebook聊天
- 在数据库更新时通过Jquery Ajax跟踪和操纵内容
- 付款处理成功,但数据库更新失败
- AJAX数据库更新与CSS按钮颜色改变使用Codeigniter
- 我怎么能得到一个文本字段的值从数据库更新的形式
- Angular JS从数据库更新视图
- 使用外部数据库更新多个站点上的html和css
- 如何在不重新加载页面的情况下使用数据库更新游戏的最高分?
- 当数据库更新时,web应用程序中的通知
- php/javascript在数据库更新后更改内联标签
- 从远程数据库更新Kendo UI Mobile中的列表视图
- 如何处理Angular控制器中的错误从MongoDB数据库更新/删除在Express
- onclick提交上的数据库更新字段不起作用