我正在尝试通过与Rails 5的关联使用has_many。在保存“类别”时遇到此错误。
CategoriesController#create中的activeModel :: MissingAttributeError
无法写入未知属性
followings_count
以下型号:
class Following < ApplicationRecord
belongs_to :category,touch: true,counter_cache: true
belongs_to :followed_category,counter_cache: :followers_count,class_name: 'Category'
end
类别模型:
class Category < ApplicationRecord
has_many :followings
has_many :followed_categories,through: :followings
has_many :followers,foreign_key: :followed_category_id,class_name: 'Following'
has_many :follower_categories,through: :followers,source: :category
end
类别控制器:
class CategoriesController < InheritedResources::Base
private
def category_params
params.require(:category).permit(:name,:description,:display_in_navbar,post_ids: [],followed_category_ids: [])
end
end
_form.html.rb
<%= simple_form_for(@category) do |f| %>
<%= f.error_notification %>
<%= f.error_notification message: f.object.errors[:base].to_sentence if f.object.errors[:base].present? %>
<div class="form-inputs">
<%= f.input :name %>
<%= f.association :followed_categories,as: :check_boxes %>
</div>
<div class="form-actions">
<%= f.button :submit %>
</div>
<% end %>