アプリには 2 つのモデルがあります。1つは会議と呼ばれ、もう1つは結果です。以下を使用して、各会議の結果を作成したかったのです@outcome=current_meeting.outcome.build(params[:outcome])
。さらに、各会議には 1 つの結果しかないため、明らかに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 を見つける方法がわかりません。助けてください。