我遇到以下错误消息:
ExecJS::ProgramError in Restaurantes#index Showing C:/rubyProject/vota_prato/app/views/layouts/application.html.erb where >line #6 raised:
TypeError: O objeto não dá suporte para a propriedade ou método Rails.root: C:/rubyProject/vota_prato
Application Trace | Framework Trace | Full Trace app/views/layouts/application.html.erb:6:in >`_app_views_layouts_application_html_erb__971963449_62998908' Request
我修复了删除行:
true %>
来 self 的 app/views/layouts/application.html.erb 文件
在我这样做之后,我遇到了另一个问题=(。我在一个 Controller 上创建了一个 Action 销毁:
class RestaurantesController < ApplicationController
def destroy
@restaurante = Restaurante.find(params[:id])
@restaurante.destroy
redirect_to(action: "index")
end
def index
@restaurantes = Restaurante.all
end
def show
@restaurante = Restaurante.find(params[:id])
end
end
和我的 index.html.rb 文件:
<h1>Listagem de Restaurantes</h1>
<table>
<tr>
<th>ID</th>
<th>Nome</th>
<th>Endereço</th>
<th>Especialidade</th>
</tr>
<% @restaurantes.each do |restaurante| %>
<tr>
<td><%= restaurante.id %></td>
<td><%= restaurante.nome %></td>
<td><%= restaurante.endereco %></td>
<td><%= restaurante.especialidade %></td>
<td><%= link_to 'Mostrar', action: 'show', id: restaurante %></td>
<td>--</td>
<td><%= link_to 'Deletar', {action: 'destroy', id: restaurante},{method: "delete"} %></td>
</tr>
<% end %>
</table>
当点击 Deletar 链接时,它执行与 Show Action 相同的 Action ,我不知道为什么
最佳答案
解决Windows下的ExecJS问题,在views/layouts/aplication.html.erb的第5行和第6行将参数application
改为default
文件。
文件应该是这样的:
<%= stylesheet_link_tag 'default', media: 'all', 'data-turbolinks-track' => true %>
<%= javascript_include_tag 'default', 'data-turbolinks-track' => true %>
这对我有用。
关于ruby-on-rails - application.html.erb 其中第 6 行引发 : TypeError: Ruby on rails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33221961/