Chr*_*len 4 join ruby-on-rails
我正在尝试通过按钮的操作在连接表中创建记录.为了解释,我会有一个事件模型,并希望跟踪每个用户的选定事件.
我使用HABTM关系,因为我真的不需要任何额外的字段.
User.rb => has_to_and_belongs_to_many:events Event.rb => has_to_and_belongs_to_many:users Events_Users Migration => [user_id,event_id,id => false]
所以我认为我会这样做是....
users_controller.rb =>
def add_event
@user = User.find(session[:user_id])
params[:user][:event_ids] ||= []
if @user.update_attributes(params[:user])
flash[:notice]='Added to My Events'
redirect_to :action => "index"
end
end
Run Code Online (Sandbox Code Playgroud)
和btn_link看起来像....
<% @events.each do |event| %>
<%= link_to image_tag("heart.gif"), :controller => 'user', :action => 'add_event' %>
<%=h event.name %>
<%=h event.description %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
但我不知道如何检查它是否正常工作......我将如何在控制台中执行这些操作,以便检查是否添加了记录?
u = User.find(1)
e = Event.find(1)
Run Code Online (Sandbox Code Playgroud)
????? x = uecreate ?????
试试这个:
u = User.find(1)
u.events << Event.find(1) # will add the Event object to the user events
u.events.last # will show the event added
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2169 次 |
| 最近记录: |