1
我正在构建一个没有模型,没有数据库的UI应用程序。它使用Web服务调用其所有业务逻辑。我有一个令人难以置信的困难时间完成路由。我仍然有像workstations
这样的实体。我在我的routes
resource :workstations
宣布这给了我这些路线:我可以使用没有数据库的资源路由吗(没有ID)
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
但是当我尝试链接到一个更新动作像= link_to "Update", workstations_path, :method => :put
我得到No route matches {:controller=>"workstations", :method=>"put"}
。是不是更新行为列出的路线?
我想知道我是否因为没有ids
而无法使用传统的机智路线。或者,也许我只是做错了。
查看代码(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>
好吧,现在我得到了''行动'显示'找不到WorkstationsController'这是进步,我猜。我不需要'show'动作,所以我不确定这是从哪里来的。只是为了理智,你没有*有*实施一个行动只是因为路线定义或你?我的猜测是它误解了'workstations_path',但这看起来不正确。 –
如果您尝试在'/ workstations'上“GET”,并且没有控制器方法来处理它,那么您会得到该错误。如果你不想要它,你可以从生成的路线中排除它,如下所示:'resource:workstations,除了:[:show]' –
我把除了现在我得到'没有路线匹配[GET]“/工作站“' –