I'm building an UI app that has no models, no database. It uses web-service calls for all of its business logic. I'm having an unbelievably difficult time getting the routing complete. I still have entities like workstations
. I've declared in my routes
resource :workstations
which gives me these routes:
workstations POST /workstations(.:format) workstations#create
new_workstations GET /workstations/new(.:format) workstations#new
edit_workstations GET /workstations/edit(.:format) workstations#edit
GET /workstations(.:format) workstations#show
PUT /workstations(.:format) workstations#update
DELETE /workstations(.:format) workstations#destroy
but when I try to link to an update action like = link_to "Update", workstations_path, :method => :put
I get No route matches {:controller=>"workstations", :method=>"put"}
. Isn't that the route thats listed for the update action?
I'm wondering if I can't use traditional resourceful routes since I don't have ids
. Or maybe I'm just doing it wrong.
View code (Haml):
%h2
%small#application-name-label Technical Support Interface
.col-md-3
%h3 Workstations
%button.btn.btn-success.create-button Create Workstation
- if @workstations.blank?
.no-items-available There are no workstations to display
-else
= form_tag(controller: "workstations", action: "delete_history_and_queue", method: "post") do
%table#workstation-table.table.table-striped.table-hover.table-bordered
%thead
%tr
%th#table-header Name
%th#table-header Delete History
%th#table-header Delete Queue
%th#table-header Update
%th#table-header Delete
%tbody
- @workstations.each do |workstation|
%tr
%td
= workstation[:name]
%td
= check_box_tag 'delete history', form_class: "checkbox"
%td
= check_box_tag 'delete queue', form_class: "checkbox"
%td
= link_to "Update", workstations_path, :action => :update
%td
= link_to "Delete", workstations_path, :action => :destroy
= submit_tag
.col-md-3
%h3 Data Sources
%button.btn.btn-success.create-button Create Data Source
- if @data_sources.blank?
.no-items-available There are no sources to display
-else
%table.table.table-striped.table-hover.table-bordered
%tr
%th#table-header Type
%th#table-header Name
- @data_sources.each do |data_source|
%tr
%td
= data_source[:type]
%td
= data_source[:name]
HTML
<body>
<div class='whole-page'>
<div class='container'>
<h1 class='hero-unit' id='application-title'>
<div class='row-fluid'>
<div class='span1' id='replication-server'>
<img alt="Cog_logo" src="/assets/cog_logo.png" />
<img alt="Crs" src="/assets/crs.png" />
Replication Server
</div>
</div>
</h1>
</div>
</div>
<h2>
<small id='application-name-label'>Technical Support Interface</small>
</h2>
<div class='col-md-3'>
<h3>Workstations</h3>
<button class='btn btn-success create-button'>Create Workstation</button>
<form accept-charset="UTF-8" action="/?method=post" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="✓" /><input name="authenticity_token" type="hidden" value="NQghiooSVtSngRU7K170uxhqJ2N6i9XQ6sP5W+UeKrY=" /></div>
<table class='table table-striped table-hover table-bordered' id='workstation-table'>
<thead>
<tr>
<th id='table-header'>Name</th>
<th id='table-header'>Delete History</th>
<th id='table-header'>Delete Queue</th>
<th id='table-header'>Update</th>
<th id='table-header'>Delete</th>
</tr>
</thead>
<tbody>
<tr>
<td>
consequatur
</td>
<td>
<input id="delete_history" name="delete history" type="checkbox" value="{:form_class=>"checkbox"}" />
</td>
<td>
<input id="delete_queue" name="delete queue" type="checkbox" value="{:form_class=>"checkbox"}" />
</td>
<td>
<a href="/workstations" action="update">Update</a>
</td>
<td>
<a href="/workstations" action="destroy">Delete</a>
</td>
</tr>
<tr>
<td>
quia
</td>
<td>
<input id="delete_history" name="delete history" type="checkbox" value="{:form_class=>"checkbox"}" />
</td>
<td>
<input id="delete_queue" name="delete queue" type="checkbox" value="{:form_class=>"checkbox"}" />
</td>
<td>
<a href="/workstations" action="update">Update</a>
</td>
<td>
<a href="/workstations" action="destroy">Delete</a>
</td>
</tr>
<tr>
<td>
quod
</td>
<td>
<input id="delete_history" name="delete history" type="checkbox" value="{:form_class=>"checkbox"}" />
</td>
<td>
<input id="delete_queue" name="delete queue" type="checkbox" value="{:form_class=>"checkbox"}" />
</td>
<td>
<a href="/workstations" action="update">Update</a>
</td>
<td>
<a href="/workstations" action="destroy">Delete</a>
</td>
</tr>
<tr>
<td>
reprehenderit
</td>
<td>
<input id="delete_history" name="delete history" type="checkbox" value="{:form_class=>"checkbox"}" />
</td>
<td>
<input id="delete_queue" name="delete queue" type="checkbox" value="{:form_class=>"checkbox"}" />
</td>
<td>
<a href="/workstations" action="update">Update</a>
</td>
<td>
<a href="/workstations" action="destroy">Delete</a>
</td>
</tr>
<tr>
<td>
laborum
</td>
<td>
<input id="delete_history" name="delete history" type="checkbox" value="{:form_class=>"checkbox"}" />
</td>
<td>
<input id="delete_queue" name="delete queue" type="checkbox" value="{:form_class=>"checkbox"}" />
</td>
<td>
<a href="/workstations" action="update">Update</a>
</td>
<td>
<a href="/workstations" action="destroy">Delete</a>
</td>
</tr>
<tr>
<td>
quidem
</td>
<td>
<input id="delete_history" name="delete history" type="checkbox" value="{:form_class=>"checkbox"}" />
</td>
<td>
<input id="delete_queue" name="delete queue" type="checkbox" value="{:form_class=>"checkbox"}" />
</td>
<td>
<a href="/workstations" action="update">Update</a>
</td>
<td>
<a href="/workstations" action="destroy">Delete</a>
</td>
</tr>
<tr>
<td>
laboriosam
</td>
<td>
<input id="delete_history" name="delete history" type="checkbox" value="{:form_class=>"checkbox"}" />
</td>
<td>
<input id="delete_queue" name="delete queue" type="checkbox" value="{:form_class=>"checkbox"}" />
</td>
<td>
<a href="/workstations" action="update">Update</a>
</td>
<td>
<a href="/workstations" action="destroy">Delete</a>
</td>
</tr>
<tr>
<td>
non
</td>
<td>
<input id="delete_history" name="delete history" type="checkbox" value="{:form_class=>"checkbox"}" />
</td>
<td>
<input id="delete_queue" name="delete queue" type="checkbox" value="{:form_class=>"checkbox"}" />
</td>
<td>
<a href="/workstations" action="update">Update</a>
</td>
<td>
<a href="/workstations" action="destroy">Delete</a>
</td>
</tr>
</tbody>
</table>
</form>
<input name="commit" type="submit" value="Save changes" />
</div>
<div class='col-md-3'>
<h3>Data Sources</h3>
<button class='btn btn-success create-button'>Create Data Source</button>
<table class='table table-striped table-hover table-bordered'>
<tr>
<th id='table-header'>Type</th>
<th id='table-header'>Name</th>
</tr>
<tr>
<td>
CIDNE
</td>
<td>
http://block.com/keaton_baumbach
</td>
</tr>
<tr>
<td>
DCGS
</td>
<td>
http://wolff.info/jace_rice
</td>
</tr>
</table>
</div>
</body>
</html>