2016-04-26 100 views
0

我想从我的视图中更新某些东西。事实是,对于这个模型,唯一可更新的字段是从真到假的布尔值,反之亦然。无需编辑的Rails更新模型

这就是为什么我不想去,通过这样的形式,一个编辑视图/控制器的方法。

这里是我的按钮:

link_to 'Disable', myModel_path(id: @something.id), method: :put 
# I checked, the id is the right one 

而这里的控制方法,我想通过

# in myModel 
def update 
    m = myModel.find(params[:id]) 

    m.update(booleanField: !m.booleanField) 

    render nothing: true 
end 

此外,在路线我做了这样的事情:

resources :myModels # with plural 

眼下我有一个错误,说不好的路线...我认为问题来自我的link_to在我的vi路径EW。

No route matches [PUT] "/myModels" 

我想要做的就是去通过更新控制方法,并留在同一个页面(我会用一些JS用的onclick重装),所以我可以更新我的模型没有给一些麻烦给我的用户。

任何帮助? :)

编辑:这里是耙路线:

  myModels GET /myModels(.:format)          myModels#index 
        POST /myModels(.:format)          myModels#create 
     new_myModel GET /myModels/new(.:format)         myModels#new 
     edit_myModel GET /myModels/:id/edit(.:format)       myModels#edit 
      myModel GET /myModels/:id(.:format)         myModels#show 
        PATCH /myModels/:id(.:format)         myModels#update 
        PUT /myModels/:id(.:format)         myModels#update 
        DELETE /myModels/:id(.:format)         myModels#destroy 

(我查了多个两次;))

+0

什么是确切的错误?请在问题中发布。 – Pavan

+0

当然,没想到这是相关的^^,编辑。 – Naarsh

+0

在你的路线中有一个错字,它应该是'资源'与一个's',而不是两个。不知道问题是否与他的问题或实际文件。 – taglia

回答

1

如果有人有相同的烦恼,按照纳拉辛哈的评论这里是你需要什么放在视图帮手link_to:

link_to 'Disable', myModel_url(@something.id), method: :put