小编Bru*_*Lin的帖子

如何将参数传递给ActiveModel序列化程序

我正在使用主动模型序列化器.我有一个有很多活动的模特活动.

我想用前n个活动返回事件.我想我应该将params n传递给事件序列化器.

ruby-on-rails active-model-serializers

63
推荐指数
6
解决办法
3万
查看次数

rails获取app root/base url

在我的应用程序中,我有一些API在api域下.现在在其中一个API中我想生成一个指向主域的URL,比方说

test.com/blabla...
Run Code Online (Sandbox Code Playgroud)

我试图使用 url_for,但似乎默认的root_urlrequest.host在api域中.Url_for将成为现实

api.test.com/blabla..
Run Code Online (Sandbox Code Playgroud)

虽然我想要它

test.com/blabla...
Run Code Online (Sandbox Code Playgroud)

Url_for可以带参数

host: ...
Run Code Online (Sandbox Code Playgroud)

将它设置为test.com/,问题是如何获取主机的root/base url(test.com)? root_urlrequest.host都是api.test.com.

有任何想法吗?谢谢.

ruby-on-rails rails-routing url-for ruby-on-rails-3

33
推荐指数
3
解决办法
5万
查看次数

Rails active_model_serializer与分页

我正在使用active_model_serializer.现在我想用分页序列化一个对象,我应该在控制器或串行器中进行分页逻辑吗?

如果我选择在序列化程序中进行分页,我需要将page_number和per_page传递给序列化程序.我该怎么办?我的理解是序列化程序只接受模型对象.

serialization pagination ruby-on-rails active-model-serializers

16
推荐指数
2
解决办法
8546
查看次数

具有任何正文和标题的Webmock存根请求

如何使用Webmock与任何正文和标题存根请求?我试着用正则表达式

WebMock.stub_request(:post, 'api.quickblox.com/').with(:body => /.*?/, :headers => /.*?/).to_return(:status => 201, :body => "", :headers => {})
Run Code Online (Sandbox Code Playgroud)

在rspec但它不起作用,它有

NoMethodError:
   undefined method `map' for /.*?/:Regexp
Run Code Online (Sandbox Code Playgroud)

rspec ruby-on-rails webmock

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

v8多线程储物柜

我在主线程上注册了另一个本地线程的回调函数。当前,我遇到一个本机线程无法访问v8 :: Isolate的问题。我四处搜寻,似乎我们需要使用v8 :: Locker进行多线程处理。我想知道我们应该如何准确地使用它?我是V8的新手,找不到适合的文档。

代码:

Main thread:
void register_signaling_xml_callback(const Nan::FunctionCallbackInfo<v8::Value> &info) {
wa_call_register_signaling_xml_callback(details::wa_send_signaling_xml_cb, isolate);   // Register the callback on native thread;
....
// v8::Unlocker unlocker(isolate); If I remove this comment, native thread can access the isolate. However, the below line will crash. 
Nan::New(...);
}


Native thread:
int wa_send_signaling_data_cb(void *data, int len, void *userdata) {
  ....
  Nan::EscapableHandleScope scope; // This line will crash due to can not get v8::Isolate.
}
Run Code Online (Sandbox Code Playgroud)

如果放入v8::Locker v8Locker(isolate) and then v8::Unlocker unlocker(isolate);主线程,则本机线程可以访问v8 :: Isolate。但是,主线程似乎失去了对隔离的控制,并 …

javascript c++ multithreading v8 node.js

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

在一个语句中为一个多个对象分配一个值

如果我要声明三个新阵列(a1,a2,a3),我可以这样做:

a1=[]
a2=[]
a3=[]
Run Code Online (Sandbox Code Playgroud)

但现在我想在一条线上完成这一切,比如

a1, a2, a3 = []
Run Code Online (Sandbox Code Playgroud)

但这失败了.如何将它们全部分配到一行上的空数组?

ruby

6
推荐指数
2
解决办法
6770
查看次数

ruby将新的键值对添加到嵌套哈希

假设我们在这里有一个嵌套哈希.

a = {:"0" => {:CA => {:count => 10}}}
Run Code Online (Sandbox Code Playgroud)

如果我们想要为该哈希添加新的哈希对,比如说

a = {:"0" => {:NY => {:count => 11}}} 
Run Code Online (Sandbox Code Playgroud)

让它成为

a = {:"0" => {:CA => {:count =>10}, :NY => {:count => 11}}}
Run Code Online (Sandbox Code Playgroud)

我该怎么办?

我试过了

a[:0][:NY][:count] = 11
Run Code Online (Sandbox Code Playgroud)

但得到错误"undefined method` [] ='为nil:NilClass(NoMethodError)"

ruby hash ruby-on-rails

5
推荐指数
2
解决办法
9353
查看次数

ObjectSpace.count_objects中每个哈希值的含义是什么?

在ruby 1.9.3中,我使用ObjectSpace来检查内存问题.ObjectSpace.count_objects返回一个哈希,如下所示:

{:TOTAL=>1004232, :FREE=>258543, :T_OBJECT=>12519, :T_CLASS=>10318, :T_MODULE=>1330,    
:T_FLOAT=>2024, :T_STRING=>555422, :T_REGEXP=>3543, :T_ARRAY=>68372, :T_HASH=>5399,
:T_STRUCT=>542, :T_BIGNUM=>8105, :T_FILE=>10, :T_DATA=>44277, :T_MATCH=>6, :T_COMPLEX=>1,   
:T_RATIONAL=>82, :T_NODE=>31973, :T_ICLASS=>1766}
Run Code Online (Sandbox Code Playgroud)

每个哈希值是什么意思?特别是,为什么:TOTAL长时间保持不变?这是否意味着没有创建新对象?

我看到了类似的帖子,但还没有好的答案.

ruby ruby-on-rails objectspace

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

设计邀请生成accept_invitation_url

我正在使用Devise邀请函。通常,在邀请电子邮件中,会有一个链接将被邀请者重定向到sign_in页面,类似这样的网址

mywebsite.com/users/invitation/accept?invitation_token=J-azZ8fKtkuAyp2VZWQX
Run Code Online (Sandbox Code Playgroud)

该网址来自Invitation_instructions.html:

<p><%= link_to 'Accept invitation', accept_invitation_url(@resource, :invitation_token => @token) %></p>
Run Code Online (Sandbox Code Playgroud)

现在,我想在控制器中返回邀请网址作为json响应,如下所示:

def invite
  invitee = User.invite!({:email => email}, current_user)
  accept_invitation_url = ....
  render :json => accept_invitation_url
end
Run Code Online (Sandbox Code Playgroud)

任何想法如何在控制器中获取accept_invitation_url?谢谢!

ruby-on-rails devise devise-invitable

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

在redy hash中使用正则表达式作为关键字

我有哈希映射

H = {
    "alc" => "AL",
    "alco" => "AL",
    "alcoh" => "AL",
    "alcohol" => "AL",
    "alcoholic" => "AL",
}
Run Code Online (Sandbox Code Playgroud)

现在我想使用正则表达式来表示所有键,例如H = {/ ^ alc/=>"AL"}

后来我想使用H ["alc"]或H ["alco"]来检索值.但是,如果我使用正则表达式,我无法正确获得该值.我该怎么办?

ruby regex hash

3
推荐指数
2
解决办法
1042
查看次数