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


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回购: