Im làm việc với một biểu mẫu nhiều lần (sử dụng đá quý Wicked). Trong vài bước đầu tiên của biểu mẫu, tôi đang chỉnh sửa mô hình người dùng và các bước đó hoạt động tốt .. Sau đó, tôi thử mô hình "sở thích" có mối quan hệ HABTM với mô hình người dùng. Tuy nhiên tôi nhận được lỗi này:Lỗi Rails: Không thể gán khối lượng thuộc tính được bảo vệ: interest_ids?
ActiveModel::MassAssignmentSecurity::Error in UserStepsController#update
Can't mass-assign protected attributes: interest_ids
Rails.root: /Users/nelsonkeating/rails_projects/Oreminder1
Application Trace | Framework Trace | Full Trace
app/controllers/user_steps_controller.rb:12:in `update'
user_steps_controller.rb
class UserStepsController < ApplicationController
include Wicked::Wizard
steps :standard, :personal, :interests, :dates
def show
@user = current_user
render_wizard
end
def update
@user = current_user
@user.attributes = params[:user]
render_wizard @user
end
end
Heres xem:
<%= render layout: 'form' do |f| %>
<% for interest in Interest.find(:all) %>
<label class="checkbox">
<%= check_box_tag "user[interest_ids][]", interest.id, @user.interests.include?(interest) %>
<%= interest.name %>
</label>
<% end %>
<% end %>
Bất kỳ ý tưởng? Cảm ơn!
Nếu bạn đang ở trong Rails 3.2.3 hoặc mới hơn, bây giờ bạn phải rõ ràng danh sách trắng bất cứ điều gì bạn muốn gán hàng loạt. Có thể đó là vấn đề? Xem http://www.h-online.com/security/news/item/Rails-3-2-3-makes-mass-assignment-change-1498547.html. –
Tôi đã đặt trong mô hình sở thích của mình: attr_accessible: name,: interest_ids – js111
Nó phải được đặt trong mô hình người dùng của bạn. – Mischa