![](/img/trans.png)
[英]Pre-check checkboxes in rails form based on database and then update database after submit
[英]Rails auto update database attribute after clicking submit on a form
我在rails中使用simple_form来创建某些事件。 要创建新事件,您需要以用户身份登录。 该表格将要求用户输入事件名称,开始日期和结束日期。 当用户单击提交按钮时,我希望表单自动更新数据库中的属性user_id。
现在在数据库中,事件表中的user_id字段始终设置为null。 但是我需要将此属性设置为:
events.user_id = current_user.id
这是我的事件表,以获取更多信息:
注意:我在此数据库中手动输入了user_id的值。
问题:用户单击提交后,如何更新数据库属性? 还是有一种默认的方式来在创建新事件时始终设置user_id?
这是new.html.erb事件视图中的代码
<%= simple_form_for(@event) do |f| %>
<%= f.error_notification %>
<div class="form-inputs">
<%= f.input :name %>
<%= f.input :start_at %>
<%= f.input :end_at %>
</div>
<div class="form-actions">
<%= f.button :submit %>
</div>
<% end %>
在事件控制器的create方法中,添加
events.user_id = current_user.id
保存之前。
例如,如果使用@event = Event.new(params[:event])
创建事件(在def create
方法中), @link.user_id = current_user.id on the next line
执行@link.user_id = current_user.id on the next line
您可能可以执行@link.user = current_user
而rails会找出ID。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.