2016-06-12 4 views
0

Ruby on Rails에서 소규모 대학 프로젝트를 만들고 있는데 문제가 생겼습니다 : Person이라는 테이블과 Tools라는 테이블이 있습니다. 사람들은 많은 도구와 도구를 갖고 있고 사람이 소유하고 있습니다. 시스템의 사람들 사이에서 도구 대여를 허용하는 기능을 추가해야합니다. 이를 위해 Tools 테이블에 'loan'이라는 애트리뷰트를 만들었습니다.이 애트리뷰트는 0 값을 가지므로이 툴은 빌린 것이 아니며 1이면 빌린 것입니다. 보기 도구에서, 나는 도구를 빌릴 수있는 기능을 가진 버튼을 만들었습니다. 내 문제는이 버튼을 0에서 1로 Tools 테이블의 'loan'속성을 변경 한 다음 되돌릴 수있는 방법입니다. 누군가가 해결책이나 더 좋은 제안을 갖고 있을까요?버튼을 사용하여 속성을 변경하는 기능

답변

0

나는이 개 경로 이름 "무덤"을 만들 것이며이 같은 "검색"

#config/routes.rb 
    get '/tool/:id/barrow' => 'tools#barrow', as: :barrow 
    get '/tool/:id/retrieve' => 'tools#retrieve', as: :retrieve 

이제보기에 당신이 할 수있는 일이

# tool.index.html.erb 
... 
<% if tool.loan %> 
    <%= link_to retrieve_path(tool), 'Retrieve', class: 'btn ...' %> 
<% else %> 
    <%= link_to barrow_path(tool), 'Barrow', class: 'btn ...' %> 
<% end %> 
... 

지금처럼 컨트롤러를 만들어야합니다 액션 당신은 검색 및 손수 만든 방법을 만들어야합니다

#app/controllers/tool_controller.rb 
class UserController < ApplicationController 
    ... 
    def retrieve 
    @tool = Tool.find_by(params[:tool]) 
    @tool.update_attributes(:loan, 0) 
    end 

    def barrow 
    @tool = Tool.find_by(params[:tool]) 
    @tool.update_attributes(:loan, 1) 
    end 
    ... 
end 

이 도움이되기를 바랍니다.

+0

방금 ​​수정했지만 다소 좋았습니다. 정말 고맙습니다! –

+0

내가 도울 수있어서 기뻤다. – MZaragoza

관련 문제