私は多くのイベントをリストしているサイトで作業しています。ログインしているユーザーがお気に入り/監視イベントの個人的なリストにイベントを追加できるようにします。好みのオブジェクトの配列にオブジェクトを追加する
私は、ユーザーがログインしている場合、私がしたい
event.rb
has_and_belongs_to_many :profiles
と
profile.rb
has_and_belongs_to_many :events
を持っていますそれぞれのボタンそのイベントをcurrent_userのプロファイルに追加するイベントビューです。基本的には、この機能:
current_user.profile.events < <イベント
それはコンソールにそれを行うために動作しますが、私はこれを行うフォームを作成する方法を見つけ出すことはできません。この本ウェブサイト上のさまざまな答えを見てから、これは私が持っているものです。
routes.rbを
map.resources :events, :member => { :create_calendar => :post }
_event.html.erb
<%= form_for(current_user.profile.events(event)) do |f| %>
<%= f.submit "Add to Calendar" %>
<% end %>
events_controller.rb
def create_calendar
@event = Event.find(params[:event_id])
current_user.profile.events << @event
end
ガイダンス、アドバイス、ヒントがあれば幸いです!
合意。別のモデルを作成するのは簡単で、プロファイルの意味を過負荷にするよりもはるかに理解しやすくなります。 –