1

嗨,我有一个名为的模型Event和一个要创建的表单eventsEventsbelongs_toUsers并且应该由他们创建。

如何将 实现current_user.id到隐藏字段中,以便将其保存在Event表中并属于current_user

谢谢。

目前它看起来像这样。但是给我一个错误:

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" }%>
4

2 回答 2

1

如果您想创建一个属于当前登录用户的事件,那么您可能应该这样做:

def create
  @event = current_user.events.new(params[:event])

  ## use your logic to save and redirect
end

我假设你has_many :events在你的用户模型中。

于 2013-01-29T18:31:29.300 回答
0
    def create
    @event = Event.new(params[:event])
    @event.user_id = current_user.id

将此发布在事件控制器中。为我做的。来自设计方法的 current_user。干杯

于 2013-01-29T13:52:29.320 回答