Ruby on rails 将对象添加到收藏夹对象数组中
我正在一个列出许多事件的网站上工作,我希望登录的用户能够将事件添加到个人喜爱/观看的事件列表中 我有 event.rbRuby on rails 将对象添加到收藏夹对象数组中,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我正在一个列出许多事件的网站上工作,我希望登录的用户能够将事件添加到个人喜爱/观看的事件列表中 我有 event.rb has_and_belongs_to_many :profiles 及 profile.rb has_and_belongs_to_many :events map.resources :events, :member => { :create_calendar => :post } <%= form_for( current_user.profile.
has_and_belongs_to_many :profiles
及
profile.rb
has_and_belongs_to_many :events
map.resources :events, :member => { :create_calendar => :post }
<%= form_for( current_user.profile.events(event) ) do |f| %>
<%= f.submit "Add to Calendar" %>
<% end %>
def create_calendar
@event = Event.find(params[:event_id])
current_user.profile.events << @event
end
如果用户已登录,我希望在每个事件视图上添加一个按钮,将该事件添加到当前用户的配置文件中。基本上,此功能:
current_user.profile.events我不是has_的粉丝,而_属于很多人,所以我的建议是放弃它,做一个新的模型。也许是这样的
class SavedEvent < ActiveRecord::Base
belongs_to :user
belongs_to :event
end
然后要保存它:
def save_event
@saved_event = SavedEvent.new(params[:saved_event]
@saved_event.user = current_user
@saved_event.save
end
当然,你可以把这部分内容删减一点,让它变得更安静一点,但这将是我着手做这件事的主要基础。同意。制作另一个模型比重载profile的含义更容易理解。
def save_event
@saved_event = SavedEvent.new(params[:saved_event]
@saved_event.user = current_user
@saved_event.save
end