表格中的辅助参数

时间:2014-07-18 10:13:25

标签: ruby-on-rails form-for

我试图通过"参与"来管理对活动的邀请。模型。我喜欢这样,当我邀请用户时,我可以在表单中插入他的名字,而不是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 %>  

我该怎么办?

1 个答案:

答案 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转为truefalse,因为您希望始终拥有用户。 如果这不能解决您的问题,请随时提出更多要求。