【发布时间】:2014-01-01 02:47:50
【问题描述】:
我的数据库中有一个表,我正在页面中显示。
问题发生在我保存更改时。
我需要使用 js 的 Rails 进程,并且当您单击保存时不会将用户重定向到另一个页面。
到目前为止,我可以保存更改,但我总是被重定向到由 HTML 而不是 JS 处理的其他页面。
控制器:
filter_resource_access :nested_in => :releases
filter_resource_access :nested_in => :project
respond_to :js, only: [:update, :edit, :show]
respond_to :html
before_filter :load_issue, :load_project, :load_release
def edit
end
def update
if @issue_value.update_attributes(params[:issue_value])
flash.now[:notice] = t('messages.successfully_updated_entity.f',
:entity => IssueValue.model_name.human)
respond_to do |format|
format.js
end
end
end
_issue_values_table:
<table class="zebra-striped">
<thead>
<tr>
<th><%= IssueValue.human_attribute_name :name %></th>
<th><%= IssueValue.human_attribute_name :value %></th>
<th><%= IssueValue.human_attribute_name :client_value %></th>
<th></th>
</tr>
</thead>
<tbody>
<% @issue_types = IssueType %>
<% for issue_value in @release.issue_values.order("issue_type_id") %>
<%= content_tag_for :tr, issue_value, :class => "clickable" do %>
<td width="42%"><%#= t(@issue_types.find(issue_value.issue_type_id).label_key) %></td>
<td width="20%">
<%= number_to_currency issue_value.value %>
</td>
<td width="20%">
<%= number_to_currency issue_value.client_value %>
</td>
<td width="12%" class="icons right">
<%= edit_icon issue_value, [:edit, @project, @release, issue_value], :remote => true, 'data-default-action' => true %>
</td>
<% end %>
<% end %>
</tbody>
_form_row:
<td colspan="4">
<%= form_for [@project, @release, @issue_value], :remote => true, :html => {:style => "margin:0"} do |f| %>
<table class="basic">
<tr>
<td class="span8 middle">
<div class="clearfix">
<%#= f.text_field :name, :placeholder => IssueType.human_attribute_name(:name),
:autofocus => true, :class => "span10" %>
</div>
</td>
<td class="span5 middle">
<div class="clearfix">
<%= f.text_field :value, :placeholder => IssueValue.human_attribute_name(:value),
:autofocus => true, :class => "span2" %>
</div>
</td>
<td class="span5 middle">
<div class="clearfix">
<%= f.text_field :client_value, :placeholder => IssueValue.human_attribute_name(:client_value),
:class => "span2" %>
</div>
</td>
<td class="span2 icons">
<%= f.submit t('actions.save'), :disable_with => t('messages.please_wait'), :class => 'btn small', :remote => true %>
</td>
</tr>
</table>
<% end %>
在 views/issue_values 我有:
edit.js.erb
show.js.erb
update.js.erb
_form_row.html.erb
_issue_values_table.html.erb
嗯,我不明白为什么这不起作用。
日志是:
在 2013-12-13 08:39:36 -0200 开始为 127.0.0.1 获取“/projects/pro-/releases/release02/values/14/edit” 由 IssueValuesController#edit as JS 处理 参数:{"project_id"=>"pro-", "release_id"=>"release02", "id"=>"14"} SQL (0.5ms) 显示表格 用户负载 (0.1ms) SELECT
users.* FROMusersWHERE ((users.auth_token= 'ji2lt8p1185q6q1l' ANDusers.status_id= 2)) 限制 1 SQL (1.5ms) 描述releases_browser_versionsSQL (0.6ms) 描述releases_os_versionsSQL (0.7ms) 描述releases_mobile_models释放负载 (0.1ms) SELECTreleases.* FROMreleasesWHEREreleases.identifier= 'release02' LIMIT 1 IssueValue Load (0.1ms) SELECTissue_values.* FROMissue_valuesWHEREissue_values.id= 14 LIMIT 1 SQL (0.6ms) 显示表格 项目负载 (0.1ms) SELECTprojects.* FROMprojectsWHEREprojects.identifier= 'pro-' LIMIT 1 缓存 (0.0ms) SELECTissue_values.* FROMissue_valuesWHEREissue_values.id= 14 限制 1 渲染 issue_values/_form_row.html.erb (34.6ms) 渲染 issue_values/edit.js.erb (36.1ms) 在 642 毫秒内完成 200 次 OK(查看次数:50.4 毫秒 | ActiveRecord:4.3 毫秒) [2013-12-13 08:39:36] 警告无法确定响应正文的内容长度。设置响应的内容长度或设置 Response#chunked = true在 2013-12-13 08:39:37 -0200 开始 POST "/projects/pro-/releases/release02/values/14" for 127.0.0.1 由 IssueValuesController#update 处理为 HTML 参数:{"utf8"=>"✓", "authenticity_token"=>"vuyP9Jwm4pS63OF7xucBHGo0L5m61ayj3aWcXYpFTKM=", "issue_value"=>{"value"=>"10,00", "client_value"=>"5,00"} , "commit"=>"Salvar", "project_id"=>"pro-", "release_id"=>"release02", "id"=>"14"} SQL (0.5ms) 显示表格 用户负载 (0.1ms) SELECT
users.* FROMusersWHERE ((users.auth_token= 'ji2lt8p1185q6q1l' ANDusers.status_id= 2)) 限制 1 SQL (0.7ms) 描述releases_browser_versionsSQL (0.5ms) 描述releases_os_versionsSQL (0.6ms) 描述releases_mobile_models释放负载 (0.1ms) SELECTreleases.* FROMreleasesWHEREreleases.identifier= 'release02' LIMIT 1 IssueValue Load (0.2ms) SELECTissue_values.* FROMissue_valuesWHEREissue_values.id= 14 LIMIT 1 SQL (0.5ms) 显示表格 项目负载 (0.1ms) SELECTprojects.* FROMprojectsWHEREprojects.identifier= 'pro-' LIMIT 1 缓存 (0.0ms) SELECTissue_values.* FROMissue_valuesWHEREissue_values.id= 14 限制 1 SQL (0.1ms) 开始 SQL (0.1ms) 提交 在 784 毫秒内完成 500 内部服务器错误ActionView::MissingTemplate(缺少模板 issue_values/show with {:handlers=>[:erb, :rjs, :builder, :rhtml, :rxml], :formats=>[:html], :locale=>[ :pt, :pt]} 在视图路径 "/var/www/base2_crowdtest/2112/final/trunk/app/views", "/usr/local/rvm/gems/ruby-1.9.3-p448/gems/client_side_validations -3.1.4/app/views”、“/usr/local/rvm/gems/ruby-1.9.3-p448/gems/declarative_authorization-0.5.6/app/views”、“/usr/local/rvm/gems /ruby-1.9.3-p448/gems/kaminari-0.13.0/app/views"): app/controllers/issue_values_controller.rb:12:in
block (3 levels) in update' app/controllers/issue_values_controller.rb:11:inblock in update' app/controllers/issue_values_controller.rb:9:in `update'在救援/布局中渲染 /usr/local/rvm/gems/ruby-1.9.3-p448/gems/actionpack-3.0.10/lib/action_dispatch/middleware/templates/rescues/missing_template.erb (0.8ms)
有人帮帮我吗?
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.2 ruby-on-rails-3.1