Tôi đang cố chuyển một mảng vào một trường dữ liệu ẩn.Truyền một mảng vào trong hide_field ROR
Những thành viên sau đây có 3 vai trò [2,4,5]
>> u = User.find_by_login("lesa")
=> #<User id: 5, login: "lesa", email: "[email protected]", crypted_password: "0f2776e68f1054a2678ad69a3b28e35ad9f42078", salt: "f02ef9e00d16f1b9f82dfcc488fdf96bf5aab4a8", created_at: "2009-12-29 15:15:51", updated_at: "2010-01-06 06:27:16", remember_token: nil, remember_token_expires_at: nil>
>> u.roles.map(&:id)
=> [2, 4, 5]
Users/edit.html.erb
<% form_for @user do |f| -%>
<%= f.hidden_field :role_ids, :value => @user.roles.map(&:id) %>
Khi tôi nộp chỉnh sửa hình thức của tôi, tôi nhận được một lỗi: ActiveRecord :: RecordNotFound in UsersController # update "Không thể tìm thấy Vai trò có ID = 245"
Làm cách nào để chuyển mảng vào trong trường hidden_field?
Tôi không tin rằng điều này hoạt động nữa trong Rails 4 –
Điều này làm việc trong Rails 4 altho nó tạo ra đầu vào với cùng một id. – Montas
Không hoạt động với tôi trong Rails 4.0.2 khi sử dụng 'form_tag' với' hidden_field_tag', tôi sẽ chỉ nhận vai trò cuối cùng trong 'params [: role_ids]'. Sử dụng 'hidden_field_tag 'role_ids []'' hoạt động tốt. –