所以我一直在用东西猛击我的头几个小时不知道该去哪里。我正在尝试_show.html.haml
在我的index.html.haml
. 但是,尽管在渲染时声明了本地人,但我仍然遇到无法加载的问题。
这是我的控制器。
def show
@table = params["id"]
@bank = Bank.find(params["bank_id"])
@table_contents = @bank.table_config.as_json.first[1][@table]
respond_to do |format|
format.js {render :partial => 'manage/table_configs/show', locals: { table: @table, table_contents: @table_contents}}
end
end
这是Index.html.haml
#all-tables
%h1 Table Configurations
%br/
%table#table_configs_table.pretty
%tr
%th Table Name
%tbody
- @tables.each do |table|
%tr
%td= link_to table.titleize, manage_bank_table_config_path(@bank, table), remote: true
#show-table
%h2 Show
:javascript
$('#show-table').html('#{escape_javascript(render(partial: "manage/table_configs/show", :locals => {:table => @table, :table_contents => @table_contents, :bank => @bank}))}');
这是我正在尝试渲染的部分内容,它不断返回此错误。
undefined method 'titleize' for nil:NilClass
_show.html.haml
%h1= table.titleize
%br/
%table.table.table-striped.table-hover.pretty
%tr
%th Column Name
%th Column State
%tbody
- table_contents.each do |key, value|
%tr
%td=key.to_s.titleize
%td=value.values.first.to_s.titleize
%br/
=link_to "Edit Table", edit_manage_bank_table_config_path(@bank, table), class: "btn btn-sm"
=link_to "All Tables", manage_bank_table_configs_path(@bank), class: "btn btn-sm"
任何帮助弄清楚为什么会发生这种情况将不胜感激。
谢谢!
编辑
我还应该补充一点,没有 AJAX 也可以正常工作