active
という名前のブール値を持つモデルorganismereferent
があります。私がしようとしていることは、それが異なる行動をしている価値に依存しています。ビューからブール値を変更する
アクティブな場合、ボタンは無効になり、ユーザーはアクティブをfalseに設定できます。そのあと、ボタンをアクティブにして、アクティブに戻すように設定する必要があります。
私のコントローラでメソッドを作成してから、そのメソッドをインデックスビューから呼び出そうとしましたが、それは私にNo route matches [POST] "/organismereferents/8"
を与えます。
<table class="table table-hover">
<tr>
<th>Nom Organisation</th>
<th>Site Web</th>
</tr>
<% @organismes.each do |organisme| %>
<tr>
<td><%= organisme.nom_organisation %></td>
<td><%= organisme.site_web %></td>
<td><%= link_to 'Show', organismereferent_path(organisme), class: 'btn btn-info' %></td>
<td><%= link_to 'Edit', edit_organismereferent_path(organisme), class: 'btn btn-warning' %></td>
<% if organisme.active == false %>
<td><%= link_to 'Activate', organismereferent_path(organisme), class: 'btn btn-danger',
method: :activate,
data: { confirm: 'Are you sure?' } %></td>
<% else %>
<td><%= link_to 'Deactivate', organismereferent_path(organisme), class: 'btn btn-danger',
method: :deactivate,
data: { confirm: 'Are you sure?' } %></td>
<% end %>
</tr>
<% end %>
</table>
コントローラー:
def index
@organismes = Organismereferent.all
end
def deactivate
@organisme = Organismereferent.find(params[:id])
@organisme.active = false
end
def activate
@organisme = Organismereferent.find(params[:id])
@organisme.active = true
end
あなたはどんなより多くの情報が必要な場合は、私がなる
そのビューを達成する簡単な方法がなければならないので、私はRuby on Railsのにはかなり新しいですうれしいです。ルート:
Rails.application.routes.draw do
# For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html
get 'master/index'
resources :organismereferents
# Notre page principal
root 'master#index'
end
routes.rbファイルを投稿できますか?また、コマンドラインから 'rake routes'と入力して結果を投稿してください。 – moveson
@moveson追加しました。 – CNuts