2012-05-05 21 views
7

Đối với biểu mẫu đăng ký, tôi cần phải có một trường không được ánh xạ tới đối tượng Người dùng của tôi.Cách thêm đầu vào không liên quan đến mô hình với Formtastic

Trường này chỉ được sử dụng để yêu cầu người dùng nhập mã mời, được kiểm tra trong danh sách lời mời trong hành động tạo của bộ điều khiển, nhưng không được lưu ở bất kỳ đâu và không có liên quan đến đối tượng người dùng này.

tôi đã cố gắng:

<%= semantic_form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |f| %> 
    <%= f.input :invitation_key, :input_html => {:name => 'invitation_key', :id => 'invitation_key'} %> 

Nhưng nó không hoạt động.

Cách chính xác để làm điều này với Formtastic là gì?

Trả lời

3

câu trả lời Melinda là tốt, nhưng kể từ khi thuộc tính thêm là phần nào liên quan đến mô hình dùng, tôi sẽ tạo ra một accessor trên tài khoản (trên thực tế, tôi muốn tạo ra một mô hình đăng ký, nhưng đó là một sự lạc đề):

class User 
    attr_accessor :invitation_key 
end 

Sau đó, sửa đổi điều khiển của bạn để kiểm tra hoặc @user.invitation_key hoặc params[:user][:invitation_key].

6

Bạn chỉ có thể làm điều gì đó tương tự thay vì f.input. Tôi không thể tìm thấy một cách để làm điều đó với một helper Formtastic cụ thể:

<li> 
    <%= label_tag 'Invitation Key' %> 
    <%= text_field_tag :invitation_key %> 
</li> 
Các vấn đề liên quan