使用link_to来指定控制器动作时,使Ajax部分出现问题

| 我在\“ proposition \”显示页面上有一个div(id = \“ content \”),我要根据选择的div顶部的哪个选项卡来渲染不同的部分。 我正在尝试使用以下link_to使用AJAX渲染部分(substantive_content):
<%= link_to \"Connected\", :url => {:controller => \"propositions\", 
                           :action => \"substantive_content\"}, :remote => true %>
我有两个问题: 点击链接后,即会收到GET请求 发送到
PropositionsController#show
,以及 不(我认为)为“实质” 内容”操作。这只会刷新页面,并且不会远程执行任何操作。不会显示正确的部分内容。 我不确定如何渲染 部分归入“内容” div。 目前,我在PropositionsController中具有以下功能:
  def substantive_content
     respond_to do |format|
         format.js{ render :update do |rightbar|
                 rightbar.replace_html \'content\', \'Hello World!\'
         end}
     end
  end
...但是不确定从这里去哪里。我什至会以正确的方式解决这个问题吗?我对Rails,JavaScript等非常陌生。 这些问题中的任何一个的帮助都是很棒的。谢谢!     
已邀请:
        在route.rb文件中,您应该有一个substantive_content操作条目。它可能看起来像这样:
match \"substantive_content\" => \"propositions#substantive_content\", :as => substantive_content
然后,在您看来,链接应如下所示:
<%= link_to \"Connected\", substantive_content_path, :remote => true %>
当js请求进入substantive_content动作时,我将呈现js.erb文件。动作看起来像这样:
def substantive_content
  respond_to do |format|               
    format.js
  end        
end 
然后在您的views / propositions目录中创建一个substantive_content.js.erb文件。在该文件中,您可以使用jquery更新内容div:
$(\'#content\').html(\"<%= render :partial => \'your_partial_name_here\' %>\");
在不了解您正在处理的实际应用程序的情况下,很难说这是否是实现所需目标的最佳方法。我通常会尽量让我的应用程序保持“ RESTful”状态,因此我不愿意创建动作不是正常索引,新建,创建,显示等设置的一部分。并不是说在这种情况下不是必需的,而是要考虑的事情。     

要回复问题请先登录注册