Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 为什么我的链接不起作用?_Ruby On Rails_Git_Deployment - Fatal编程技术网

Ruby on rails 为什么我的链接不起作用?

Ruby on rails 为什么我的链接不起作用?,ruby-on-rails,git,deployment,Ruby On Rails,Git,Deployment,我刚刚将我的站点从本地webrick服务器部署到一个真正的服务器 http://92.51.243.6/ 我很高兴我自己成功地部署了它,但当我意识到我的大多数链接都不起作用时,它很快就消失了。(我知道Facebook的问题,现在我真正关心的是链接)-关于我们,常见问题解答,联系我们,在“注册”页面上,链接“条款和条件”显示错误,“对不起,但出了问题” 我与代码建立了链接: <div id = "menu"> <ul id = "home_page_links"&

我刚刚将我的站点从本地webrick服务器部署到一个真正的服务器

http://92.51.243.6/
我很高兴我自己成功地部署了它,但当我意识到我的大多数链接都不起作用时,它很快就消失了。(我知道Facebook的问题,现在我真正关心的是链接)-关于我们,常见问题解答,联系我们,在“注册”页面上,链接“条款和条件”显示错误,“对不起,但出了问题”

我与代码建立了链接:

 <div id = "menu">
      <ul id = "home_page_links">
        <li><%= link_to "Home",about_us_path, :remote => true %></li>
        <li><%= link_to "About Us",about_us_path, :remote => true  %></li>
        <li><%= link_to "FAQ", faq_path, :remote => true  %></li>
        <li><%= link_to "Contact Us", contact_us_path, :remote => true  %></li>
      </ul>
    </div>
还有我的scripts.js文件,它提供ajax功能:

//I want to load content into the '.page-content' class, with ajax

var ajax_loaded = (function(response) {        

  $(".page-content")

  .html($(response).filter(".page-content"));       

  $(".page-content .ajax").on("click",ajax_load); 



   });


//the function below is called by links that are described 
//with the class 'ajax', or are in the div 'menu' 

var history = [];                 

// var current_url_method;               

var ajax_load = (function(e) {  


  //console.log('load ajax on clicks. This always works.');         
  e.preventDefault();               


  history.push(this);               
  var url =$(this).attr("href");          
  var method = $(this).attr("data-method");   

  // if (current_url_method != url + method) {   
  //   console.log('You got to the url + method part. But sometimes I dont get this far.'); 
  //   current_url_method = url + method;      

  $.ajax({                  
    url: url,               
    type: method,  
    // async: false,                       
    success: ajax_loaded

    // $('html, body').animate({ scrollTop: 0 }, 0);       
  });
   // }

 });


//monitor for clicks from menu div, or with
//the ajax class, or the 'submit button'.
//why the trigger?

$(document).on("ready", function(){
$("#menu a").on("click",ajax_load);
$(".ajax").on("click",ajax_load);
$("#menu a.main").trigger("click");


});

非常感谢您的帮助。

好的,我将逐步向您解释如何在rails中执行ajax请求,至少这是我的方法,我不会强迫您执行同样的操作

1。链接和路径

<%= link_to "FAQ", faq_path, :remote => true  %>
3。视图和js.erb

至于现在,你可能在
app/views/static\u pages/
中有一个
faq.html.erb
,这个页面可以处理html请求,但是当我们作为ajax这样做时,它会查找
faq.js.erb
,这就是你处理javascript的地方

首先,我会将您的
faq.html.erb
内容移动到部分
\u faq\u content.html.erb
中,并且在
faq.html.erb
中,我只会将其呈现为部分,因为我们将使用相同的部分,以防出现html请求(对于在浏览器中禁用js的用户)

现在我承认,当点击faq链接时,你想用faq页面的内容替换
page content
div中的内容。为此,在您的
faq.js.erb
(如果没有,请创建一个)中,您将编写:

$('.page-content').html('<%= j render('faq_content') %>');

因此,您最好在尝试使用我的教程时删除js:),以确保不会发生冲突。如果你做得很好,你应该为你的静态页面得到一个ajax呈现。如果你对此有问题,请告诉我。祝您好运。

您是否正在生产环境中部署应用程序

错误是: ActionView::Template::Error(即未预编译css):

这意味着您需要预编译所有资产。请运行此命令并重新启动服务器

bundle install
bundle exec rake assets:clean
bundle exec rake assets:precompile
bundle exec rake assets:precompile
如需更多脱轨,请遵循rails部署指南中所述的基本步骤。
您是否在生产环境中部署应用程序

错误是:

ActionView::Template::Error(即未预编译css):

这意味着您需要预编译所有资产。请运行此命令并重新启动服务器

bundle install
bundle exec rake assets:clean
bundle exec rake assets:precompile
bundle exec rake assets:precompile

production.log
文件中没有任何内容,也没有任何http日志文件?如果您向我们提供有关如何创建链接的更多信息,我将不胜感激。您好,我直到现在才知道production.log(新部署)。production.log具体做什么?我在终端中看到,当我点击我的链接时,它会发生变化。我用production.log中的一段代码编辑了上面的问题。如何修复内部服务器错误?如何预编译ie.css?谢谢。可能是的副本。您是否预编译了资产?看来你没有。在服务器上运行rakeassets:precompile。为rmagnum干杯,谢谢你们的帮助。我们很快会调查的。这当然不同于我所认为的ajax方式!如果它能工作的话,它会更干净更短。“提交”按钮可能会有问题,但当我开始使用时,我会担心的。我已经将它标记为1,如果它有效,我将接受你的答案。使用提交按钮没有什么困难,你将在表单中添加remote:true,你在表单中执行的操作将与链接一样使用ajax,例如,如果你创建用户表单,用户控制器中的创建操作将使用js响应,这意味着您需要app/views/users/create.js.erb,并在其中添加所需的js。但是正如你所说的,当你开始做的时候,你会担心的;I don’我不能像我想的那样工作。有人说要在application.css.scss中放置*=require_树并重新部署,所以我将给出一个go.*=require_树将添加每个css文件。我以为你是在appliation.css.scss文件中写的,我从其他人那里继承了这个rails项目。我当然不是rails方面的专家,但在我的application.css.scss文件中,我看到*=除了ie.css.scss,同一文件夹中的每个scss文件都需要。这可能是问题所在吗?我的意思是,只需添加*=需要ie并重新部署?你可以。。这就是问题所在
bundle install
bundle exec rake assets:clean
bundle exec rake assets:precompile
bundle exec rake assets:precompile