我的应用程序中有两个模型。一个叫会议,另一个叫结果。我想使用以下方法创建每次会议的结果:@outcome=current_meeting.outcome.build(params[:outcome])
. 此外,每次会议只有一个结果,因此显然是一种has_one
关系。我对获得 current_meeting 感到非常困惑。我的会议和结果模型如下:
会议模式
class Meeting < ActiveRecord::Base
attr_accessible :info, :meeting_date, :name, :venue
has_many :participants, :dependent => :destroy
has_one :outcome, :dependent => :destroy
validates_presence_of :name, :info, :meeting_date, :venue
end
结果模型
class Outcome < ActiveRecord::Base
attr_accessible :result
belongs_to :meeting
validates :meeting_id, presence: true
end
我希望新的结果出现在会议的节目中,如果没有在场,如果有一个在场,则应该不可能创造新的结果
会议/show.html.erb
<% if @meeting.outcomes.any? %>
<%= render @outcomes %>
<% else %>
<%= link_to "Add the outcome of meeting", new_outcome_path %>
<% end %>
我的控制器是:
会议控制器
def show
@meeting = Meeting.find(params[:id])
@outcomes = @meeting.outcomes.all
end
结果控制器
def new
@outcome = current_meeting.microposts.new
end
def create
@outcome = current_meeting.outcomes.build(params[:outcome])
if @outcome.save
flash[:success] = "Outcome created!"
redirect_to root_url
else
render 'static_pages/home'
end
end
我不知道如何找出 current_meeting。请帮忙。