小编Ada*_*NYC的帖子

Rails button_to直接触发Model中的动作

我想允许用户点击显示页面上的按钮取消他的活动.我在Event模型中有一个方法取消,但是如果我不需要在Controller中创建取消方法.

我的问题是:

  1. 在这种情况下,直接从视图中调用模型中的方法是一个好主意吗?
  2. 如果没问题,那么我该如何使用button_to呢?

谢谢.

model-view-controller design-patterns ruby-on-rails

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

这是多态性的有效用法吗?如果我应该如何声明这种关系?

我有一个约会模型,可以由导师或学生初始化.一旦初始化,另一方可以接受或拒绝.

我将我的模型设计为:约会和参与者.参与者有两个属性:participant_id和participant_type("Tutor"/"Student").我想声明约会has_one Tutor,has_many学生使用多态.

我的问题是:这是多态的有效用途吗?如果是,那么我应该如何声明这种关系和外键?如果不是,为什么呢?

谢谢.

ruby polymorphism ruby-on-rails

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

如何在jQuery中检查元素是否具有特定样式

我有一个元素:

  #credit-card{:style => user.has_stripe_customer_id? ? "display:none" : "display:block"}
       .input
           = text_field_tag :credit_card_number, params[:credit_card_number], :class => "field"
       .actions
         = f.submit("Buy Gift")
Run Code Online (Sandbox Code Playgroud)

我应该如何编写一个jQuery选择器来检查#credit-card是否在"display:none"中?我试过了

if($('#credit-card').hasClass('display:none')) {
            $('input[type=submit]').attr('disabled', true);
        } 
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

谢谢.

jquery ruby-on-rails jquery-selectors

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

从数据框中删除列列表

可能重复:
Drop Columns R数据框

我有一个要从IRIS表中删除的变量列表,如下所示:

dropList <- c("Sepal.Length", "Sepal.Width")
Run Code Online (Sandbox Code Playgroud)

如何使用此列表从IRIS数据框中删除?(我不想明确地提到职位)

谢谢。

r dataframe

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

引用attach()中新定义的变量

我想对数据框的列进行许多修改.但是,由于需要大量的列和转换,我希望避免不得不一遍又一遍地使用数据框名称.

在SAS数据步骤中,在一个数据步骤中,您可以创建变量并在定义变量后立即引用它:

 data A;
 set A;
 varA = varB > 1;
 varC = var A + varB;
 ....
 run;
Run Code Online (Sandbox Code Playgroud)

可以在R中这样做吗?

我能想到的一种方法是使用attach(),然后在detach()之前创建数百个数组然后cbind().我知道很多R老兵建议不要使用attach().但我需要做大量数据操作(数百个新变量),并且按顺序调用transform(df,)会​​非常麻烦.

例如:

attach(A)
varA <- varB > 1
varC <- varA + varB
A <- cbind(varA, varB, varC)
detach()
Run Code Online (Sandbox Code Playgroud)

但我不确定这是否是在R中执行此操作的最佳方式.

r dataframe

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

从视图中设置cookie,然后从Rails中的Controller读取它

我想使用Javascript在Rails视图中设置cookie值,然后使用Controller来读取此cookie.这可能与Rails有关,我应该怎么做呢?

我的情况:我有一个输入字段(比如地址),当用户第一次访问我的网站时,需要填写该输入字段.然后,用户使用Omniauth登录.我想坚持地址,直到他登录后.

更新:我能够在客户端上添加到document.cookies.但是,cookies ["something"]从Rails结束返回nil.以下是cookie哈希:

#<ActionDispatch::Cookies::CookieJar:0x007 @secret="f4d518c0b2", @set_cookies={}, @delete_cookies={}, @host="localhost", @secure=false, @closed=false, @cookies={"_myapp_session"=>"BAh7Ck==--776b2fcfcd63d3c84d2b1de5327e277499add6d4", "fbsr_1505068851081"=>"mqZeyvoRC"}, @signed=#<ActionDispatch::Cookies::SignedCookieJar:0x007 @parent_jar=#<ActionDispatch::Cookies::CookieJar:0x007fdf...>, @verifier=#<ActiveSupport::MessageVerifier:0x007fdfa34548d8 @secret="f4d518c0b2e9d8", @digest="SHA1", @serializer=Marshal>>>

javascript cookies ruby-on-rails

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

我应该使用Facebook FQL吗?

我正在使用Koala gem与Facebook Graph API进行交互.在其Github中,作者提到Koala还支持Facebook REST API,将来会被弃用,并给出了这个例子:

@rest = Koala::Facebook::API.new(oauth_access_token)    
@rest.fql_query(my_fql_query) # convenience method
@rest.fql_multiquery(fql_query_hash) # convenience method
@rest.rest_call("stream.publish", arguments_hash) # generic version
Run Code Online (Sandbox Code Playgroud)

我对此的看法是它FQL是REST api的一部分,如果我不需要,我就不应该使用它.我无法通过谷歌搜索确认这一点.

FQL是REST api的一部分是真的吗?如果是这样,我应该尽可能避免吗?

facebook-graph-api

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

使用content_tag自定义font-awesome按钮

我想有一个按钮,看起来像Log in with [FB],wher [FB]是字体真棒图标.(请注意,此图标出现在最后).为此,这有效:

= form_tag my_path, :method => :post do
  = button_tag do
    Log in with
    %i.icon-facebook
Run Code Online (Sandbox Code Playgroud)

我想通过创建一个新的帮助方法来干掉它:

  def button_to_with_icon(path, text, button_class, icon)
    form_tag path, :method => :post do
      button_tag(:class => button_class) do
        text
        content_tag :i, "" , :class => icon.to_sym
      end
    end
  end
Run Code Online (Sandbox Code Playgroud)

但是,text参数不会以HTML格式呈现.我该如何解决这个问题?

ruby-on-rails font-awesome

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

Python if if()不起作用

我想检查列表phrases中的任何字符串元素是否包含集合中的某些关键字phd_words.我想使用,any但它不起作用.

In[19]:
    import pandas as pd
    import psycopg2 as pg

    def test():
    phd_words = set(['doctor', 'phd'])
    phrases = ['master of science','mechanical engineering']
    for word in phrases:
        if any(keyword in word for keyword in phd_words):
            return 'bingo!'

test()

Out[20]: 
  bingo!
Run Code Online (Sandbox Code Playgroud)

我该怎么解决这个问题?

python if-statement numpy ipython

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

使用二进制代码和密钥防止逆向工程

我正在开发一个必须部署在具有root访问权限的客户端的私有云服务器上的软件程序.我可以通过安全端口与软件进行通信.

我想阻止客户对我的程序进行逆向工程,或者至少让它"足够难".以下是我的方法:

  1. 在Go中编写代码并将软件编译成二进制代码(可能是混淆)
  2. 确保只能使用可通过安全端口发送的密钥启动程序.密钥可以根据时间而变化.
  3. 每次我需要启动/停止程序时,我都可以通过安全端口发送带有密钥的命令.

我认为这种方法可以阻止root用户:

  1. 使用调试器对我的代码进行反向工程

  2. 反复运行程序以检查输出

我的问题是:这个设计的弱点是什么?root用户如何攻击它?

reverse-engineering deobfuscation

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