私のRailsアプリには、previous_node_id列とnext_node_id列のIDを入力することで相互にポイントできるノードがあります。ノードを作成すると、前のノードを正常に指し示しますが、前のノードは変更されず、そのnext_node_id値はnilのままです。これを修正するにはどうすればよいですか?(コードを改善する方法についてのコメントもありがたいです。)
NodesController:
def create
@node = current_user.nodes.build(params[:node])
if params[:previous_node_id].present?
setup_node_pointers(Node.find(params[:previous_node_id]), @node )
end
if @node.save
...//end of the controller
ヘルパーからの関連コード:
def setup_node_pointers(previous_node, current_node)
previous_node.next_node_id = current_node.id
current_node.previous_node_id = previous_node.id
previous_node.save
end