我试图通过"参与"来管理对活动的邀请。模型。我喜欢这样,当我邀请用户时,我可以在表单中插入他的名字,而不是user_id。
user.rb
class User < ActiveRecord::Base
attr_accessible :id, :name
has_many :participations
end
participation.rb
class Participation < ActiveRecord::Base
attr_accessible :event_id, :user_id
belongs_to :event
belongs_to :user
end
视图/参股/ new.html.erb
<%= form_for(@participation) do |f| %>
<%= f.hidden_field :event_id, value: @event.id %>
<%= f.label :user_id, 'User Id' %>
<%= f.number_field :user_id %>
<%= f.submit 'Invite' %>
<% end %>
我该怎么办?
答案 0 :(得分:0)
试试这个:
<%= form_for(@participation) do |f| %>
<%= f.hidden_field :event_id, value: @event.id %>
<%= f.label :user_id, 'User Id' %>
<%=f.collection_select :user_id,User.all,:id,:name,:label => "User" ,:include_blank => false%>
<%= f.submit 'Invite' %>
<% end %>
您可以将include_blank
转为true
或false
,因为您希望始终拥有用户。
如果这不能解决您的问题,请随时提出更多要求。