首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >找不到rjs文件

找不到rjs文件
EN

Stack Overflow用户
提问于 2011-09-29 14:01:17
回答 3查看 215关注 0票数 0

我使用的是rails 2.3.8,我将使用名为_show_venue.html.erb的部分加载模式对话框。在这个部分中,我添加了link_to_remote来编辑每个会场。

_show_venue.html.erb ::

代码语言:javascript
复制
<table>
<tr>
<th>Country</th>
<th>Place</th>
<th>Color</th>
</tr>

<% @venues.each do |venue| %>
<tr>
<td><%=h venue.country_id %></td>
<td><%=h venue.place %></td>
<td><%=h venue.color %></td>

<td><%= link_to_remote 'Edit', :url => {:controller => 'venues', :action => 'edit', :id=>venue.id } %></td>
</tr>
<% end %>
</table>

这是我的控制器代码::

代码语言:javascript
复制
def edit
@venue = Venue.find(params[:id])
end

edit.js.rjs ::

代码语言:javascript
复制
page.replace_html 'edit_venue', :partial => 'edit_form'
page<< "$j ('#event_actions').dialog({
    title: 'Edit venue
    modal: true,
    width: 500,
    close: function(event, ui) { $j ('#event_actions').dialog('destroy') }
});"

但是当我运行它的时候,它找不到edit.js.rjs文件。为什么会发生这种情况?有谁能解释一下吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-09-29 14:32:22

您应该对您的控制器方法进行以下更改:

代码语言:javascript
复制
respond_to do |format|    
      format.js      
end

这样它就会找到edit.js.rjs并呈现它。

编辑:404HTTP状态是主要问题所在,这是因为缺少路由。

匹配venues/:id/edit的路由应该可以解决这个问题。

票数 1
EN

Stack Overflow用户

发布于 2011-09-29 14:08:47

将文件edit.js.rjs重命名为edit.rjs

编辑过的

我认为你必须用另一种方式来做,因为你想要动态对象@venue,试试下面的

代码语言:javascript
复制
def edit
  @venue = Venue.find(params[:id])
  render :update do |page|
    page.replace_html 'edit_venue', :partial => 'edit_form', :object => @venue
    page<< "$j ('#event_actions').dialog({
      title: 'Edit venue
      modal: true,
      width: 500,
      close: function(event, ui) { $j ('#event_actions').dialog('destroy') }
    });"
   end
 end

您的链接应该如下所示,您必须编写:method

代码语言:javascript
复制
<%= link_to_remote 'Edit', :url => {:controller => 'venues', :action => 'edit', :id=>venue.id }, :method=>'put' %> 

如果上面不起作用,你也可以尝试'post‘

票数 1
EN

Stack Overflow用户

发布于 2011-09-29 14:31:26

将edit.js.rjs重命名为edit.js.erb

将以下内容添加到编辑方法的末尾:

代码语言:javascript
复制
respond_to do |format|
  format.js
  format.html
end

重新启动服务器

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7593099

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档