加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – rails-在连接表中创建记录

发布时间:2020-12-17 03:09:01 所属栏目:百科 来源:网络整理
导读:我正在尝试通过按钮的操作在连接表中创建记录.为了解释,我会有一个事件模型,并希望跟踪每个用户的选定事件. 我使用HABTM关系,因为我真的不需要任何额外的字段. User.rb = has_to_and_belongs_to_many:事件 Event.rb = has_to_and_belongs_to_many:用户 Eve
我正在尝试通过按钮的操作在连接表中创建记录.为了解释,我会有一个事件模型,并希望跟踪每个用户的选定事件.

我使用HABTM关系,因为我真的不需要任何额外的字段.

User.rb => has_to_and_belongs_to_many:事件
Event.rb => has_to_and_belongs_to_many:用户
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

和btn_link看起来像….

<% @events.each do |event| %>
<%= link_to image_tag("heart.gif"),:controller => 'user',:action => 'add_event' %>
<%=h event.name %>
<%=h event.description %>
<% end %>

但我不知道如何检查它是否正常工作……我将如何在控制台中执行这些操作,以便检查是否添加了记录?

u = User.find(1)
e = Event.find(1)

????? x = u.e.create ?????

解决方法

试试这个:

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读