您好我有一个名为Event
的模型和一个用于创建events
的表单。
Events
belongs_to Users
并且应由他们创建。
如何将current_user.id
实施到隐藏字段中,以便将其保存在Event
表中并属于current_user
?
THX。
此刻它看起来像这样。但是把错误抛给了我:
Called id for nil, which would mistakenly be 4 -- if you really wanted the id of nil, use object_id
我的表格:
<%= simple_form_for @event do |f| %>
<% if @event.errors.any? %>
<div class="error_messages">
<h2><%= pluralize(@event.errors.count, "error") %> prohibited this user from being saved:</h2>
<ul>
<% @event.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<%= f.simple_fields_for :user do |id| %>
<%= id.input :contact_name, :value=>current_user.id %>
<%end%>
<div class="field">
<%= f.input :title, :input_html => { :class => "span10" }%>
答案 0 :(得分:1)
如果您想创建属于当前登录用户的事件,那么您可能应该这样做:
def create
@event = current_user.events.new(params[:event])
## use your logic to save and redirect
end
我假设您的用户模型中有has_many :events
。
答案 1 :(得分:0)
def create
@event = Event.new(params[:event])
@event.user_id = current_user.id
在事件控制器中发布此内容。为我做了来自设计方法的current_user。 干杯