我与依赖选择发生冲突

时间:2015-06-26 03:21:30

标签: ruby-on-rails ruby-on-rails-3 select scope grouped-collection-select

我在rails 4中遇到了groups_collection_select的问题,所以我需要你的帮助。

我有这个型号:

class Event < ActiveRecord::Base
has_many :appointments
belongs_to :user
scope :evento_sin, -> { where(available: "1") }
end

class User < ActiveRecord::Base
has_many :events
has_many :appointments
devise :database_authenticatable, :registerable,
     :recoverable, :rememberable, :trackable, :validatable
     def medic_with_spec
        "#{especialidad}, #{name} #{lastname}"          
     end
end

我的观点有:

<div class="field">
<%= f.label :user_id, "Médicos" %><br />
<%=select("appointment", "user_id", @usuarios.collect {|p|     [p.especialidad+" - "+p.lastname + ", " +p.name, p.id ] }, { include_blank: true }) %>
</div>

<div class="field">
<%= f.label :event_id, "Consultas Disponibles" %><br />
<%= f.grouped_collection_select :event_id, @usuarios.order(:name), 
:eventos.evento_sin, :id, :id, :start_time, include_blank: true %>

但我收到:未定义的方法`evento_sin&#39; for:events:Symbol

此代码会发生什么?

谢谢你的帮助

1 个答案:

答案 0 :(得分:0)

  

未定义的方法`evento_sin&#39; for:events:Symbol

您的:evento_sin模型中定义了 范围 Event,并且您正在使用它:eventos.evento_sin而不是#{1}} 39;没有意义。

您的grouped_collection_select应该是这样的

<%= f.grouped_collection_select :event_id, @usuarios.order(:name), 
Event.evento_sin, :id, :id, :start_time, include_blank: true %>