내 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
감사합니다.하지만 이전에 저장 한 후에도 여전히 작동하지 않습니다. –
@ user29358 다른 문제가 무엇인지 알 수 없습니다. 어쩌면 당신의 구원이 실패하고 있을까요? 당신이 받고있는 오류와 당신의 모델이 어떤 모습인지 보여주십시오. 또한 콘솔에서 작업을 시도해보십시오. 작동하지 않는 경우 도우미에게 문의하십시오. – Steve
다른 오류를 발견했습니다. 몇 가지가 있습니다. –