我是 Rails 的新手,我正在尝试执行以下操作,但我觉得我没有安全地做到这一点:
我网站的访问者无需注册即可查看用户的个人资料页面并与他们联系。用户和访问者之间存在 has_and_belongs_to_many 关系。当访问者联系用户时,我想在我的访问者表中使用他们提交的信息创建一个新记录,并在 users_visitors 表中创建一个新关系,以便稍后向用户显示提交的信息。到目前为止我所拥有的:
楷模:
class User < ActiveRecord::Base
has_and_belongs_to_many :visitors
class Visitor < ActiveRecord::Base
has_and_belongs_to_many :users
浏览量:user/profile.html.erb
#this is at example.com/user/id
<%= form_for Visitor.new, :url => contact_path, :html => { :method => :post } do |f| %>
<%= f.label :email %>
<%= f.text_field :email %>
<%= submit_tag("Submit") %>
<% end %>
路线.rb
#this will just point to a confirmation page
post '/contact', to: 'visitors#contact', :as => :contact
我迷失了两个部分:我如何传递/使用创建关系所需的用户 ID,以及控制器(或模型)应该是什么样子来创建这个新关系?