私はこれであなたの助けをいただければ幸いです削除されません:、私は次のようfield_forを持っている私の形でreject_ifが空ですか?働いていない - フィールドが空の場合、テーブルの行が
class Author < ActiveRecord::Base
has_one :authornote, :foreign_key => "author_fk", :dependent => :destroy
accepts_nested_attributes_for :authornote, :reject_if => lambda { |a| a[:note_value].blank? }, :allow_destroy => true
end
class Authornote < ActiveRecord::Base
belongs_to :author, :foreign_key => :author_fk
end
:
私は2つのモデルを持っている
<% remote_form_for @author, :url => { :controller => "authors", :action => "update_author_note" } do |f| %>
<div>
<% f.fields_for :authornote do |builder| %>
<%= builder.text_area :note_value, :rows => 4, :cols => 50 %>
<% end %>
</div>
<%= f.submit 'Update' %>
<%end%>
コントローラーコード:
def update_author_note
author_id = session[:author_id]
@author = Author.find(author_id)
if @author.update_attributes(params[:author])
respond_to do |format|
format.js
end
else
respond_to do |format|
format.html { redirect_to add_author_note_path(:sub_id=> session[:sub_id]) }
end
end
end
現在、ユーザーがフォームフィールド 'note_value'のすべての内容を削除してフォームを更新すると、データ行は 'authornote'テーブルに存在し、 'note_value'列は空です。
フィールド 'note_value'が空で、ユーザーが更新ボタンをクリックすると、空の列 'note_value'の行が 'authornote'テーブルで削除されます。
任意の提案は、ほとんどあなたがそれをやろうとしているとして、何をしようとしていることはRailsのではサポートされていない
清算に感謝します。 – tanya