2016-06-12 64 views
0

我在Ruby on Rails中创建了一个小型高校项目,并且遇到了一个问题:我有一个名为Person的表,另一个名为Tools的表。 人们有许多工具和每个工具,并由一个人拥有。 我需要添加一项功能,允许借助系统人员之间的工具。为此,我在Tools表中创建了一个名为'loan'的属性,其值为0意味着该工具没有借用,如果是1,则借用该工具。为了显示工具,我创建了一个具有借用该工具功能的按钮。我的问题是如何使这个按钮从“工具”表中将属性“贷款”从0更改为1,然后将其反转。有人会有解决方案或更好的建议?使用按钮更改属性的功能

回答

0

我将创建2路名“手推车”和“检索”是这样的:

#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