Tôi đang cố gắng xây dựng một ứng dụng đường ray AddressBook cực kỳ đơn giản. Tuy nhiên, tôi nhận được lỗi này "Không thể gán khối lượng thuộc tính được bảo vệ: city_id". Làm thế nào tôi có thể sửa lỗi này? Vui lòng thêm bất kỳ nhận xét/đề xuất nào vào câu trả lời của bạn về mã đường ray bên dưới. Cảm ơn.Lỗi đường ray: Không thể chỉ định khối lượng thuộc tính được bảo vệ
Làm thế nào tôi tạo ra các dự án (từ đầu):
rails new demo
rails generate model City name:string
rails generate scaffold User name:string city:references
rake db:migrate
db/seeds.db:
City.create(name: "City1")
City.create(name: "City2")
City.create(name: "City3")
rake db: hạt giống
thay đổi dòng này <%= f.text_field :city %>
app/views/users/_form.html.erb
-<%= f.collection_select :city_id, City.all, :id, :name %>
thay đổi user.rb
dòng được tạo tự động belongs_to :city
đến has_one :city
.
thêm belongs_to :city
-city.rb
Tái bút: Tôi đang sử dụng Rails 3.2.3 và Ruby 1.9.3.
Setting 'whitelist_attributes' true là mặc định mới - mà sẽ yêu cầu bạn phải sử dụng một cách rõ ràng attr_accessible. Nếu bạn muốn hoàn nguyên về hành vi cũ, bạn nên đặt 'whitelist_attributes' thành false. –
làm thế nào để thêm attr_accessible nếu tôi đang thêm một mô hình bằng cách sử dụng 'ActiveRecord :: Schema.define' trong schema.rb – pahnin
Đừng làm điều này, frank blankard. Kiểm tra https://github.com/rails/rails/issues/5228 để biết thêm thông tin. –