小编Mak*_*kov的帖子

如何在rails中的两列上实现唯一索引

我有一个表,我正在尝试在两列上添加一个唯一索引.这些列也被编入索引.所以我的问题是,如果我只是删除仅为一列的索引或者我必须使用所有三个索引:

add_index "subscriptions", ["user_id"]
add_index "subscriptions", ["content_id"]
add_index "subscriptions", ["user_id"], ["content_id"], :unique => true
Run Code Online (Sandbox Code Playgroud)

activerecord ruby-on-rails

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

ReactJs - 创建一个"If"组件......一个好主意?

我在React文档中读到"if"类​​型语句不能在JSX代码中使用,因为JSX呈现为javascript的方式,它并没有像人们期望的那样工作.

但有没有理由为什么实现"if"组件是一个坏主意?它似乎从我最初的测试中运行良好,让我想知道为什么不经常这样做?

我的部分目的是尽可能地让反应开发,基于标记 - 尽可能少的javascript.对我而言,这种方法更像是一种"数据驱动"方法.

你可以在这里查看JS Fiddle

<script type='text/javascript' src="https://unpkg.com/react@0.11.0/dist/JSXTransformer.js"></script>
<script type='text/javascript' src="https://unpkg.com/react@0.11.0/dist/react-with-addons.js"></script>

<script type="text/jsx">
/** @jsx React.DOM */
    
var If = React.createClass({
  displayName: 'If',

  render: function()
  {
    if (this.props.condition)
      return <span>{this.props.children}</span>
    return null;
  }
});

var Main = React.createClass({
    render: function() {
        return (
           <div>
             <If condition={false}>
                <div>Never showing false item</div>
             </If>
             <If condition={true}>
                <div>Showing true item</div>
             </If>
          </div>
        );
    }
});

React.renderComponent(<Main/>, document.body);
</script>
Run Code Online (Sandbox Code Playgroud)

运行以上结果:

显示真实的项目

javascript reactjs

53
推荐指数
5
解决办法
4万
查看次数

如何键入导出的RelayContainer

我正在尝试键入(使用flowtype)我正在增强的组件Relay.createContainer.

我查看了"react-relay"包导出类型,但ReactContainer似乎没有带来Props.

我尝试了RelayContainer,ReactClass,React$Component等,到底是最接近预期的结果,我可以得到的是:

// Foo.js
// @flow
import React from "react";
import Relay from "react-relay";

type Props = { title: string; }
const Foo({ title }: Props) => (<div>{title}</div>);

const exported: Class<React$Component<void, Props, void>> = Relay.createContainer(Foo, {
  fragments: { ... }
});

export default exported;
Run Code Online (Sandbox Code Playgroud)

-

// Bar.js
// @flow

import React from "react";
import Foo from "./Foo.js";
const Bar = () => <Foo />; 
Run Code Online (Sandbox Code Playgroud)

现在流量会在 …

javascript reactjs flowtype relayjs

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

Rails authenticity_token在表单vs csrf标记上

在rails 4 app的同一页面上我有一个

在脑袋里:

<meta name="csrf-param" content="authenticity_token" />
<meta name="csrf-token" content="some_token" />
Run Code Online (Sandbox Code Playgroud)

在身体下面:

<form action="/someaction" method="post">
<input name="utf8" type="hidden" value="&#x2713;" />
<input type="hidden" name="_method" value="patch" />
<input type="hidden" name="authenticity_token" value="another_token" />
Run Code Online (Sandbox Code Playgroud)

js调用需要csrf令牌.但为什么表单令牌与csrf令牌不同?表单提交中使用了哪两个令牌?

ruby-on-rails csrf authenticity-token

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

使用ruby sdk在Route 53上创建ALIAS记录

我正在尝试CNAME使用ALIASruby aws-sdkgem 的设置以编程方式创建Route 53 记录.

我在文档中找不到这样做的方法.我看到如何创建一个记录本身但不是如何创建一个ALIAS记录.

rrsets = AWS::Route53::HostedZone.new(hosted_zone_id).rrsets
rrset = rrsets.create('foo.example.com.', 'CNAME', :ttl => 300, :resource_records => [{:value => 'foo.example.com.s3.amazon.weast.uk'}])
Run Code Online (Sandbox Code Playgroud)

ruby amazon-s3 amazon-web-services amazon-route53

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

如何从活动记录模型属性名称和由分隔符分隔的值创建字符串|?

我有一个名为Student的ActiveRecord模型,Student.first具有以下属性:

reg_no: "ABC001",school_fees: 10000.0,transaction_date: "2017-08-19"
Run Code Online (Sandbox Code Playgroud)

我想把它转换成这个:

reg_no=ABC001|school_fees=10000.0|transaction_date=2017-08-19
Run Code Online (Sandbox Code Playgroud)

并将其分配给变量以在该变量中执行加密和解密.我怎样才能得到这个结果?

ruby activerecord ruby-on-rails

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

使用 Docker 构建 Rails 失败。当我使用 ruby​​:alpine 图像时,Nokogiri 导致错误

我有一个简单的 Rails 5.x,我正在尝试使用 docker 来工作。

我正在使用 google cloud build 来构建我的图像。当我在 Ubuntu 18.x 上执行 docker 构建时,它工作正常。

我的 Dockerfile 如下所示:

FROM ruby:2.5-alpine

RUN apk update && apk --update add \
 build-base \
 nodejs \
 postgresql-dev \
 tzdata \
 imagemagick 

#RUN apt-get install -y build-essential

# yarn
ENV PATH=/root/.yarn/bin:$PATH
RUN apk add --virtual build-yarn curl && \
    touch ~/.bashrc && \
    curl -o- -L https://yarnpkg.com/install.sh | sh && \
    apk del build-yarn


RUN mkdir /app
WORKDIR /app

COPY Gemfile ./
RUN gem install …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails docker google-cloud-platform google-cloud-build

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