通过链接访问Rails 4中的模型关联

时间:2015-04-24 21:43:32

标签: ruby-on-rails ruby-on-rails-4 activerecord model-associations

我想连接用户和事件模型,因此我创建了参与模型。 (一个用户可以参加许多活动,一个活动可以让很多用户参与。)





user.rb




  class User<的ActiveRecord :: Base的
 #包括默认设计模块。其他可用的是:
 #:确认,:可锁定,:超时和:omniauthable
设计:database_authenticatable,:registerable,
 :可恢复的,:可记住的,:可跟踪的,:可验证的

 has_many:状态
 has_many:参与
 has_many:events,through::participation

 validates_presence_of:first_name,:last_name

 def to_param
 PROFILE_NAME
端

 def full_name
 first_name +“”+ last_name
结束
结束
  




event.rb




 类事件< ActiveRecord :: Base


 has_many:participations

 has_many:users,::: participations


 end
  




participation.rb




  class Participation< ActiveRecord :: Base

 belongs_to:user

 belongs_to:event

结束
  




我不确定如何在我的事件索引中链接到这个;到目前为止,我的 events / index.html.erb 中有一个默认链接( link_name ),允许加载页面,但只有当有人重定向到单个事件页面时注册:





<%= link_to link_name,event%>





我尝试将此部分更改为:





<%= link_to New,new_participation_path(event)%>





这引发了我的错误:




 事件中的NameError #index
显示/ home / ubuntu / workspace /app/views/events/index.html.erb第10行引出:

未初始化的常量ActionView :: CompiledTemplates :: New
提取的源(第10行):&#xA ;
 7<%= event.event_date_time.strftime(“%A%D at%I:%M%p”)%>< / p>
 8< div class =“meta”>
 9<%link_name =“注册!” %GT;
 10<%= link_to New,new_participation_path(event)%>
 11< span class =“admin”> | <%= link_to“编辑”,edit_event_path(event)%> |
 12<%message =“您确定要删除此活动吗?” %GT;
 13<%= link_to“删除”,事件,方法:: delete,数据:{confirm:message}%>
  




这是我的create_participations迁移:





类CreateParticipations< ActiveRecord :: Migration




  create_table:participations do | t |

 t.belongs_to:user,index:true

 t.belongs_to:event,index:true
 t.datetime:participation_date

 t.timestamps null:false

 end

 end
  




我添加了一个新定义我的参与控制器:




  def new

 @participation = Participation.new

 end
  




以下是我参与的相关路线(出于某种原因,有两个集合):




 参与GET /参与(.:format)参与#index
 new_participation GET /new_participation(.:format)参与#new
 show_participation GET /show_participation(.:format)参与#show
参加GET /参与(.:format)参与#create
 update_participation GET /update_participation(.:format)参与#update
 delete_participation GET /delete_participation(.:format)参与#detroy
 participation_index GET /participation/index(.:format)参与#index
 participation_show GET /participation/show(.:format)参与#show
 participation_create GET /participation/create(.:format)参与#create
 participation_edit GET /participation/edit(.:format)参与#edit
 participation_update GET /participation/update(.:format)参与#update
 participation_new GET /participation/new(.:format)参与#new
  




participation_destroy GET /participation/destroy(.:format)参与#stroy





我不太确定我在哪里出错了。





这是我对这个项目的整个github回购:





https://github.com/yamilethmedina/wheels_registration.git




0 个答案:

没有答案