1

こんにちは、 というモデルとEvent作成するフォームがありますeventsEvents属しUsers、それらによって作成される必要があります。

を非表示フィールドに実装し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 :eventsUser モデルにあると仮定しています。

于 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 に答える