我正在开发一个有两种模式的网站:公司和联系人。我有一个显示公司信息的页面,还有一个添加联系人的链接。我的路线是:
resources :companies do
resources :contacts
end
我怀疑的是,我如何使用路径在本页面内创建新联系人,以及如何在联系人控制器中使用我的新方法和创建方法
提前致谢
答案 0 :(得分:3)
如果您执行:rake routes
,您将看到应用程序的所有可用路径。
要创建新联系人,您可以使用以下路线:
new_company_contact GET /companies/:company_id/contacts/new(.:format) contacts#new
这意味着您可以使用new_company_contact_path
辅助方法,它将带您进入相应的视图app/views/new.html.erb
。并且,在contacts_controller
new
方法中,您将拥有以下内容:
def new
@contact = Contact.new
end
而且,您的create
方法将如下所示:
def create
@contact = Contact.new(contact_params)
if @contact.save
flash[:info] = "Contact saved successfully"
redirect_to root_url
else
render 'new'
end
end
确保contact_params
:
contacts_controller
隐私方法
private
def contact_params
params.require(:contact).permit(:name, :email)
end