2016-04-26 11 views
0

私は私の見解から何かを更新しようとしています。事実はこのモデルのためであり、更新可能な唯一のフィールドは真から偽に、そしてその逆になるブール値です。編集なしのレール更新モデル

私は編集ビュー/コントローラメソッドでフォームを通過したくないのです。ここで

は私のボタンです:

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 

を私は悪いルートを言うエラーがあります...私は問題が私のリンクのパスから来ると思います私のvi ew。

私が何をしようとしている
No route matches [PUT] "/myModels" 

はUPDATEコントローラ方法を通過し、同じページに滞在することです(私はonclickのをいくつかのJSとリロードだろうと)ので、私はいくつかのトラブルを与えることなく、私のモデルを更新することができます私のユーザーに。

助けが必要ですか? :)

編集:ここですくいルートです:(私は二回複数チェック;)

  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

あなたのルートにはタイプミスがあります.2つではなく、1つの 's'を持つ 'resources'でなければなりません。問題が質問や実際のファイルであるかどうかは不明です。 – taglia

答えて

1

ここにあなたがする必要があるものだナラシンハさんのコメント通り、誰もが、同じ悩みを持つている場合ビューヘルパーlink_toに入れて:

link_to 'Disable', myModel_url(@something.id), method: :put 
関連する問題