因此,我想让我的用户能够订阅其他用户的简报。我已经完成了所有设置的关联,我只是在编写实际的#34;订阅"按钮/功能,以便当用户点击它时,他们将订阅所选的时事通讯,然后从中接收电子邮件。
我如何将此功能编码为实际"订阅"用户?
我有以下型号&协会到位:
newsletter.rb
class Newsletter < ActiveRecord::Base
has_many :subscriptions
has_many :users, through: :subscriptions
has_many :posts, dependent: :destroy
belongs_to :user
has_attached_file :image, :styles => { :medium => "300x300>", :thumb => "100x100>" }, :default_url => "/images/:style/missing.png"
validates_attachment_content_type :image, :content_type => /\Aimage\/.*\Z/
validates_presence_of :image, :name
scope :for, ->(user) do
if user
Newsletter.all
end
end
end
user.rb
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable,
:validatable
has_many :subscriptions
has_many :subscribed_newsletters, through: :subscriptions, class_name: "Newsletter"
has_many :newsletters
validates :email, uniqueness: true, presence: true
validates_presence_of :password, on: :create
end
subscription.rb
class Subscription < ActiveRecord::Base
belongs_to :user
belongs_to :newsletter
end
post.rb
class Post < ActiveRecord::Base
belongs_to :newsletter
end
我有一个仪表板控制器,带有索引操作,我希望显示简报的订阅源,并在每个简报下都有一个订阅按钮。我如何编写此订阅功能?
请指教!
答案 0 :(得分:1)
从上面的编码中,我假设你已经熟悉ROR&amp; JS的东西。所以,我不会开始编写代码,而是建议流程/方法。
理想情况下,您必须使用Ajax功能。
以下是伪代码: