중첩에 삭제 기능 도입

2746 단어 HTMLRails

gorup의 메시지에서 삭제 기능 가져오기


끼워 넣은 메시지에 삭제 기능을 도입하는 데 실패했기 때문에 비망록으로 작성합니다.
routes.rb
  resources :groups, only: [:new, :create, :edit, :update, :show] do
    resources :messages, only: [:index, :create, :destroy]
  end
messages_controller.rb
  before_action :set_group
...
  def destroy
    message = Message.find(params[:id])
    message.destroy
    redirect_to group_messages_path(@groups)
  end
...
  def set_group
    @groups = Group.find(params[:group_id])
  end
rails routes

문제점


걸려 넘어진 곳은 밑에 링크 _to 뒤에 있는 기술
이대로 가면 어느 그룹의 어떤 소식인지 지정할 수 없어요.
messages/index.html.erb
      <%= link_to "/messages/#{message.id}", method: :delete do%>

아래와 같이 메시지 전에 어떤 그룹을 지정해서 해결합니까
messages/index.html.erb
      <%= link_to "/groups/#{@groups.id}/messages/#{message.id}", method: :delete do%>

rails routes 할 때 미리 URI Pattern 보기!!!

좋은 웹페이지 즐겨찾기