我正在尝试在名称空间帐户下嵌套一些路由.
我希望帐户下的用户管理/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) 我正在使用以下代码在通过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的正确方法,还是我错过了一步?
谢谢.
我绝对是全新的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) 假设我有以下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完成吗?
谢谢.
我有一个执行一个功能的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 ++程序员,所以感谢你的帮助.
我今天写了我的第一个插件:一个简单的工具,使元素中的数字向上计数.它工作得很好,但我按照例子和一些试验和错误构建它,所以我不能说我理解它是如何完全工作的.
我不明白:
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) 我从来没有做过任何直接的ruby编码 - 只适用于Rails框架.
我不确定如何描述类之间的关系,而不是继承关系.
例如,School对象可能有许多Student对象.我希望能够拨打电话,例如"myschool.student [2] .first_name"和"mystudent.school.address"
可能是我将OOP与关系数据库的元素混淆,所以如果我离开的话,对不起.
我有一个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个元素的数组有什么好方法?
谢谢.
我想要一个匹配包含的字符串的正则表达式
- 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)
或者让它愚蠢地列举每一个可能的顺序......
我怎么说"任何顺序中至少需要这些组件中的一个?"
谢谢.
我想循环方法来获取我在运行中编译的值数组,但它似乎正在解释它而不是我所希望的.
(在这个例子中它是一个静态数组,但我希望它工作,以便我可以使用不同构造的数组)
- 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数组或其他东西.
我该怎么做呢?
假设你有两个模型可以以不同的方式关联:
用户有许多他们创建的对话.(一对多)用户有许多他们参与的对话.(很多很多)
我的第一个想法是在对话表中存储创建对话的用户的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用户启动的那些.
谢谢.
我有一个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语句等到认证功能完成之后?
谢谢!
该程序应该通过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/
谢谢.