0
레일 애플리케이션에서 사용자 편집 페이지의 중첩 된 특성을 업데이트하려고합니다. 콘솔에서 다음을 수행 할 수 있습니다.Formtastic을 사용하여 중첩 된 레일 - 업데이트 연결을 얻을 수 없음
foo = User.first.memberships.first
foo.organization_id = 10
foo.save
이렇게하면 조직 ID가 업데이트됩니다. formtastic을 사용하여이 작업을 수행하려고합니다. 첫째, 내 사용자 모델은 다음과 같습니다
<%= semantic_form_for [:admin, @resource], role: "form" do |f| %>
<div class="form-group">
<%= f.input :email, label: "Email" %>
<%= f.input :avatar, as: :file, name: "Avatar" %>
<%= f.input :first_name, label: "First Name" %>
<%= f.input :last_name, label: "Last Name" %>
<%= f.input :admin, as: :boolean, label: "Admin" %>
<%= f.input :password, as: :password, label: "Password" %>
<%= f.input :password_confirmation, as: :password, label: "Password Confirmation" %>
</div>
<div class="form-group">
<%= f.inputs :for => :memberships do |input| %>
<%= f.input :organizations, :as => :radio, :collection => memberships_for_user %>
<% end %>
</div>
<div class="small-spacer"></div>
<%= f.submit "Save User", class: "btn primary" %>
<% end %>
컬렉션의 도우미 방법은 이것이다 :
이accepts_nested_attributes_for :memberships
양식은 다음과 같습니다
def memberships_for_user
Organization.all
.sort_by { |o| o.name }
.map { |o| [o.name, o.id] }
end
중첩 된 속성에 대한 다음의 HTML 모양은 다음과 같습니다.
<li class="choice">
<label for="user_organization_ids_10">
<input id="user_organization_ids_10" name="user[organization_ids]" type="radio" value="10" />Beer-Davis
</label>
</li>
이 양식을 수정하여 Memberships 조인 모델의 organizaiton_id를 업데이트 할 수 있습니까?