【发布时间】:2014-08-02 20:50:15
【问题描述】:
目前我在项目模型和邀请模型之间有一个 has_many 和 belongs_to 关联。我在项目控制器的显示操作中有一个 form_form 邀请。
projects/show.html.erb
<div class="center">
<h1><%= @project.title %></h1>
<%= form_for @invitation do |f| %>
<%= f.collection_select :user_id, User.all, :id, :first_name %><br>
<%= f.submit "Send Invitation", class: "btn btn-primary" %>
<% end %>
</div>
选择目标用户并提交表单会将当前用户带到“新”邀请页面,并且已为新邀请保存 user_id。但是,我还需要保存一个 project_id,但我不知道该怎么做。我试图查看是否可以在invitations_controller 的“创建”操作中定义实例变量@project,但我不知道如何。
invitations_controller.rb
class InvitationsController < ApplicationController
def new
@invitation = Invitation.new
end
def create
@invitation = @project.create_invitation(invitation_params)
if @invitation.save
flash[:success] = "Invitation sent!"
redirect_to @invitation
else
render 'new'
end
end
def show
@invitation = Invitation.find(params[:id])
end
private
def invitation_params
params.require(:invitation).permit(:user_id, :project_id, :description)
end
end
请帮帮我。谢谢!
【问题讨论】:
标签: ruby-on-rails has-many model-associations belongs-to