小编doc*_*nge的帖子

Rails命名空间路由在开发中工作但不在生产中工作

我正在尝试在名称空间帐户下嵌套一些路由.

我希望帐户下的用户管理/account/users/account/users/5/edit

在routes.rb中:

namespace :account do
  resources :users do
    member do
      put 'generate_api_key'
    end 

    collection do
      post 'api_key'
    end 
  end 
end 
Run Code Online (Sandbox Code Playgroud)

我的控制器没有命名空间或将它们放在任何不同的目录中.

/app
  /controllers
    accounts_controller.rb
    users_controller.rb
Run Code Online (Sandbox Code Playgroud)

在我的开发环境,这是工作正常,但在生产中,我得到404个响应任何的/account/users...路径(其中,顺便说一句,都仍然正确生成:new_account_users_path,edit_account_user_path,等).

rake routes在两个环境中生成相同的输出.这是相关的一点:

 generate_api_key_account_user PUT    /account/users/:id/generate_api_key(.:format)                      {:action=>"generate_api_key", :controller=>"account/users"}
         api_key_account_users POST   /account/users/api_key(.:format)                                   {:action=>"api_key", :controller=>"account/users"}
                 account_users GET    /account/users(.:format)                                           {:action=>"index", :controller=>"account/users"}
                               POST   /account/users(.:format)                                           {:action=>"create", :controller=>"account/users"}
              new_account_user GET    /account/users/new(.:format)                                       {:action=>"new", :controller=>"account/users"}
             edit_account_user GET    /account/users/:id/edit(.:format)                                  {:action=>"edit", :controller=>"account/users"}
                  account_user GET    /account/users/:id(.:format)                                       {:action=>"show", :controller=>"account/users"}
                               PUT    /account/users/:id(.:format)                                       {:action=>"update", :controller=>"account/users"}
                               DELETE …
Run Code Online (Sandbox Code Playgroud)

routes namespaces ruby-on-rails production-environment

5
推荐指数
1
解决办法
1360
查看次数

如何强制Disqus对所有请求使用HTTPS?

我正在使用以下代码在通过HTTPS加载的页面上加载Disqus,如本答案所示.

  <div id="disqus_thread"></div>
  <script type="text/javascript">
      var disqus_shortname = 'our-shortname';
      (function() {
          var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
          dsq.src = 'https://' + disqus_shortname + '.disqus.com/embed.js?https';
          (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
      })();
  </script>
Run Code Online (Sandbox Code Playgroud)

请注意,我已将embed.js的请求更改为https而不是http,并且我已添加?https到请求的末尾,我认为应该强制使用HTTPS.

初始请求按计划通过HTTPS进行,但是它通过HTTP发出了一个辅助请求,Chrome很讨厌(我得到红色十字架挂锁图标).

来自Chrome控制台:

The page at https://our-website.com/blog-post-name ran insecure content from http://juggler.services.disqus.com/event.js?thread=635675380&forum=our-shortname...[long query string]
Run Code Online (Sandbox Code Playgroud)

这是让Disqus在所有请求中使用ssl的正确方法,还是我错过了一步?

谢谢.

ssl https disqus

5
推荐指数
1
解决办法
5203
查看次数

Rails错误"NoMethodError" - 我的第一个ruby应用程序

我绝对是全新的rails,所以答案可能非常简单.开始:

我的页面正在生成此错误

NoMethodError in Tasks#new
Showing app/views/tasks/new.erb where line #3 raised:

undefined method `tasks_path' for #

这是观点:

<% form_for(@task) do |f| %>
    <%= f.error_messages %>

    <%= f.label :description %>:
    <%= f.text_field :description %><br />

    <%= f.label :priority %>:
    <%= collection_select(:news, :priority_id, Priority.find(:all), :id, :description) %><br />

    <%= f.submit "Add Task" %>

<% end %>
Run Code Online (Sandbox Code Playgroud)

控制器:

class TasksController < ApplicationController
    def index
        @all_tasks = Task.find(:all, :order => :id)
    end

    def new
        @task = Task.new
    end ...(more)
Run Code Online (Sandbox Code Playgroud)

和模型:

我看不出有什么问题,但就像我说的那样,到目前为止我还是一无所知.谢谢!

class Task < …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails

4
推荐指数
1
解决办法
2万
查看次数

如何使用JavaScript查找设置为"auto"的元素的实际渲染值

假设我有以下html,没有CSS

<div> 
  here is some content in this div. it stretches it out
  <br />and down too!
</div>
Run Code Online (Sandbox Code Playgroud)

现在我想获得浏览器将此div渲染为的实际像素宽度和高度.

可以用JS完成吗?

谢谢.

javascript dom

4
推荐指数
1
解决办法
8283
查看次数

在ruby脚本和正在运行的c ++程序之间进行通信

我有一个执行一个功能的c ++程序.它将一个大型数据文件加载到一个数组中,接收一个整数数组并在该数组中执行查找,返回一个整数.我目前正在调用程序,每个整数作为参数,如下所示:

$ ./myprogram 1 2 3 4 5 6 7
Run Code Online (Sandbox Code Playgroud)

我也有一个ruby脚本,我希望这个脚本能够利用c ++程序.目前,我这样做.

Ruby代码:

arguments = "1 2 3 4 5 6 7"
an_integer = %x{ ./myprogram #{arguemnts} }
puts "The program returned #{an_integer}" #=> The program returned 2283
Run Code Online (Sandbox Code Playgroud)

这一切都运行正常,但我的问题是每次ruby进行此调用时,c ++程序必须重新加载数据文件(超过100mb) - 非常慢,效率非常低.

如何重写我的c ++程序只加载一次文件,允许我通过ruby脚本进行多次查找,而不必每次都重新加载文件.使用套接字是一种明智的方法吗?将c ++程序编写为ruby扩展?

显然我不是一位经验丰富的c ++程序员,所以感谢你的帮助.

c++ ruby sockets call

4
推荐指数
1
解决办法
1900
查看次数

我的第一个jQuery插件.需要帮助格式化并了解其工作原理

我今天写了我的第一个插件:一个简单的工具,使元素中的数字向上计数.它工作得很好,但我按照例子和一些试验和错误构建它,所以我不能说我理解它是如何完全工作的.

我不明白:

a)我应该如何包括像函数一样的方便函数secondsToTime()(假设我需要它在函数中 - 我理解在这个例子中它没有.)为什么它在this.each块中起作用?

b)我声明(_this, seconds, interval)作用域的变量是怎样的?每个元素都保持同时存在.

c)这个插件可以更好地构建吗?

码:

$(document).ready(function(){
  $('.ticker').countup();
});

(function($) {   
  $.fn.countup = function() {
    return this.each(function(){
      var _this = this,
      seconds = parseInt($(this).text()),
      interval = setInterval(updateTicker, 1000 );
      updateTicker();
      function updateTicker(){
        seconds += 1;
        time = secondsToTime(seconds);
        outputtime = time.h + ":" + ((time.m <= 9) ? '0' + time.m : time.m) + ":" + ((time.s <= 9) ? '0' + time.s : time.s)
        $(_this).text(outputtime);
      }   
      function secondsToTime(secs){
        var hours = …
Run Code Online (Sandbox Code Playgroud)

javascript jquery plugins

4
推荐指数
1
解决办法
124
查看次数

描述ruby中的类关系

我从来没有做过任何直接的ruby编码 - 只适用于Rails框架.

我不确定如何描述类之间的关系,而不是继承关系.

例如,School对象可能有许多Student对象.我希望能够拨打电话,例如"myschool.student [2] .first_name"和"mystudent.school.address"

可能是我将OOP与关系数据库的元素混淆,所以如果我离开的话,对不起.

ruby oop class object

3
推荐指数
1
解决办法
1812
查看次数

如何确保方法返回一个数组,即使Ruby中只有一个元素

我有一个Ruby方法,它搜索哈希数组并返回该数组的子集.

  def last_actions(type = 'all')
    actions = @actions

    if type == 'run'
      actions = actions.select {|a| a['type'] == "run" }
    end

    return actions

  end
Run Code Online (Sandbox Code Playgroud)

这是有效的,除非只有一个动作要返回,在这种情况下我不认为它返回一个包含一个元素的数组,而只是返回元素本身.这在以后会成为问题.

在这种情况下,确保它返回1个元素的数组有什么好方法?

谢谢.

ruby arrays return

3
推荐指数
1
解决办法
688
查看次数

如何制作一个指定任何顺序元素的正则表达式?

我想要一个匹配包含的字符串的正则表达式

 - At least one brace: } or {  
and
 - At least one digit: \d  
and
 - At least one instance of either: <p> or </p>
Run Code Online (Sandbox Code Playgroud)

但是以任何顺序,以便匹配所有以下内容:

<p>{123

2}</p>

2<p>}}}

{}{}{}<p></p></p>234234}}}
Run Code Online (Sandbox Code Playgroud)

这些都不匹配:

<p>{ alphabet 123

{2}

{{{}}}

<p>1</p>
Run Code Online (Sandbox Code Playgroud)

这是我到目前为止所要求的,它只需要其中任何一个组件:

(<\/p>|<p>|\d|\}|\{)+
Run Code Online (Sandbox Code Playgroud)

我的问题是,我不知道如何使它更通用,而不必像这样指定顺序:

(<\/p>|<p>)+(\d)+(\}|\{)+
Run Code Online (Sandbox Code Playgroud)

或者让它愚蠢地列举每一个可能的顺序......

我怎么说"任何顺序中至少需要这些组件中的一个?"

谢谢.

regex

3
推荐指数
1
解决办法
269
查看次数

如何传递Rails的cycle()一组值来循环?

我想循环方法来获取我在运行中编译的值数组,但它似乎正在解释它而不是我所希望的.

(在这个例子中它是一个静态数组,但我希望它工作,以便我可以使用不同构造的数组)

- some_array = ['one', 'two', 'three']
- colors.each do |color|
  %a{ :name => color, :class => "#{cycle(some_array)}" }
Run Code Online (Sandbox Code Playgroud)

这适用于每个元素的类:

"three"] "two", ["one",
Run Code Online (Sandbox Code Playgroud)

......看起来好像在调用to_s数组或其他东西.

我该怎么做呢?

ruby-on-rails

2
推荐指数
1
解决办法
431
查看次数

Rails中有多个has_many关联

假设你有两个模型可以以不同的方式关联:

用户有许多他们创建的对话.(一对多)用户有许多他们参与的对话.(很多很多)

我的第一个想法是在对话表中存储创建对话的用户的ID,并将对话中涉及的用户关联到连接表中.

class User < ActiveRecord::Base
  has_many :conversations
  has_and_belongs_to_many :conversations
end

class Conversation < ActiveRecord::Base
  belongs_to :user
  has_and_belongs_to_many :users
end
Run Code Online (Sandbox Code Playgroud)

这似乎是在寻找麻烦.

这样做的正确方法是什么?基本上我希望能够为那些参与者和user.started_conversations使用user.conversations用户启动的那些.

谢谢.

database ruby-on-rails

1
推荐指数
1
解决办法
875
查看次数

Javascript if(function_foo())不等待function_foo()完成

我有一个if声明:

    if(authenticate_session("secret_password12345")){
        alert("You are authenticated");
    }else{
        alert("Intruder alert!");
    }
Run Code Online (Sandbox Code Playgroud)

和javascript身份验证函数,它使jQuery POST AJAX调用服务器进行实际身份验证,并返回true或false:

function authenticate_session(session_id){
 $.post("/auth.php",
    { action: "authenticate_session", login_id: session_id },
    function(data){
        if(data == "denied"){
            alert("denied");
            return false;
        }else if(data == "accepted"){
        alert("accepted");
            return true;
        }
    },
"text");
}
Run Code Online (Sandbox Code Playgroud)

但是,当if语句调用athentication函数时,它不会等待AJAX​​完成,并且总是执行'else'.如果我添加'return true;' 进入认证功能的第一行,在ajax之前,if语句按预期执行=> alert("你被认证").

我知道服务器端正在正常运行,因为正在按预期调用警报("拒绝")和警报("已接受")(但有趣的是,在if语句警报之后).

如何使我的if语句等到认证功能完成之后?

谢谢!

javascript ajax jquery if-statement

1
推荐指数
1
解决办法
587
查看次数

为什么C++ strtok()不适合我?

该程序应该通过cin接收输入,对其进行标记,然后输出每个输入以显示它正常工作.它没.

程序编译没有错误,并接受输入,但无法输出任何内容.

我究竟做错了什么?

int main(int argc, char* argv[])
{
  string input_line;

  while(std::cin >> input_line){
    char* pch = (char*)malloc( sizeof( char ) *(input_line.length() +1) );

    char *p = strtok(pch, " ");
    while (p != NULL) {
      printf ("Token: %s\n", p);
      p = strtok(NULL, " ");
    }
  }
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

我按照这里的代码示例:http://www.cplusplus.com/reference/clibrary/cstring/strtok/

谢谢.

c++ tokenize strtok

1
推荐指数
2
解决办法
1689
查看次数