小编Mel*_*Mel的帖子

Rails 4 - 为了放置jQuery和bootstrap?

我正在试图弄清楚如何在我的application.js中加载资产.

我在application.js中有这些必需的文件(以及其他文件).

//= require bootstrap-sprockets
//= require jquery
//= require jquery-ui
//= require jquery_ujs
Run Code Online (Sandbox Code Playgroud)

我的宝石文件有:

gem 'jquery-rails'
gem 'jquery-ui-rails'
Run Code Online (Sandbox Code Playgroud)

当bootstrap-sprockets在jQuery之前时,我的bootstrap下拉菜单(如下)工作正常.

<div class="row" style="margin-top:30px">
    <div class="col-md-3 col-md-offset-8">
        <% if policy(@project).show? %>    

            <div class="btn-group">
              <button type="button" style="color: black" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                STATUS: <%= text_for_state(@project.current_state) %> <span class="caret"></span>
              </button>
              <ul class="dropdown-menu">
                 <% if policy(@project).request_preapproval? %>    
                    <%= link_to "REQUEST APPROVAL", request_preapproval_project_path(@project), method: :put, :style=>"padding-left:20px; padding-right: 10px" %>
                <% end %>
                <li role="separator" class="divider"></li>
                <% if policy(@project).publish? %>    
                    <%= link_to "PUBLISH", publish_project_path(@project), …
Run Code Online (Sandbox Code Playgroud)

javascript jquery ruby-on-rails asset-pipeline twitter-bootstrap

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

Rails - 配置DNS以使用Heroku(123-reg)进行托管

我想弄清楚如何在heroku上发布我的应用程序.我的DNS是123-reg.123-reg不提供对heroku部署的任何支持,反之亦然.

我之前已经问过这个问题(在评论中投票和嘲笑) Rails,Heroku - 为heroku配置123-reg域名

我再次问,希望能找到一些有关如何使其发挥作用的实质性帮助.

目前,当我尝试使用自定义域名呈现页面时,出现错误消息:

无法访问此站点 www.mydomainname.com的服务器DNS地址无法找到.尝试运行网络诊断程序.

DNS_PROBE_FINISHED_NXDOMAIN
Run Code Online (Sandbox Code Playgroud)

当我在终端中尝试以下操作时,我得到以下响应:

host www.mycustomdomainname.com 
Run Code Online (Sandbox Code Playgroud)

未找到主机www.mycustomdomainname.com:3(NXDOMAIN)

host https://www.mycustomdomainname.com
Run Code Online (Sandbox Code Playgroud)

主机https://www.mycustomdomainname.com未找到:2(SERVFAIL)

dig www.mycustomdomainname.com cname +short
Run Code Online (Sandbox Code Playgroud)

myherokualias.herokudns.com

heroku域返回带有和不带www前缀的heroku别名.

在我的DNS中,我有一个CNAME记录:

DNS ENTRY TYPE PRIORITY TTL DESTINATION/TARGET www CNAME mycustomdomainname.herokudns.com.

除此之外,我的电子邮件帐户还有MX和TXT记录.

任何人都可以看到我需要做什么才能使用我的自定义域名来呈现页面?

当我尝试:

curl -vI https://www.mycustomdomainname.com *重建网址:https ://www.mycustomdomainname.com/*无法解析主机:www.mycustomdomainname.com*关闭连接0卷曲:(6)无法解析主持人:www.mycustomdomainname.com

为了让这个工作变得有效,我迷失了方向

HEROKU SETTINGS

我可以从检查我的heroku生产检查中看到,我有以下问题:

FAILED DNS configuration
Your DNS is not configured correctly. Your domain "mycustomdomain.com"'s ALIAS or ANAME record should point to ancient-water-74339.herokuapp.com.
Run Code Online (Sandbox Code Playgroud)

但是,它还说:

PASSED Heroku SSL
Run Code Online (Sandbox Code Playgroud)

Heroku SSL说明说:

Change your DNS …
Run Code Online (Sandbox Code Playgroud)

dns ruby-on-rails heroku

7
推荐指数
2
解决办法
2284
查看次数

Rails 5 - 命名空间模型

我在我的 Rails 5 应用程序中使用命名空间来尝试使资源井井有条。

我一直在使用命令行通过将命名空间文件夹添加到 generate 命令来生成资源。

这会在模型文件夹中为保存命名空间文件的主文件夹创建一个文件夹。

从那以后,我一直在阅读其他人的帖子,这些帖子表明命名空间模型不是一个好主意。

我目前拥有的一个例子是:

class Stance::Assessment < ApplicationRecord
Run Code Online (Sandbox Code Playgroud)

到目前为止它似乎工作正常。

命名空间模型有什么问题?

如果这是一个问题,这是否意味着我无法将我的模型组织到文件夹组中,或者是否意味着模型类不需要使用“Stance::”命名?

namespaces ruby-on-rails

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

pgadmin 4(或db visualiser)实体关系图

如何使用pgAdmin v4或DB Visualizer或任何其他开源工具制作实体关系图?

PG Admin 有很多pgadmin III的解释器,但他们建议在工具/查询菜单下应有一个名为“图形查询生成器”的选项卡。没有。从那以后,已经解释了该功能在pgadmin中不再存在。

目标 我的架构中有70个表,我试图找到有关如何生成它们之间关系的图形表示的说明。

有谁知道在哪里可以找到有关使用开源工具(用清晰的英语编写)进行操作的说明?

DB Visualizer 我已经在Mac上单独下载了DB Visualiser,但是我找不到有关如何定位和连接数据库的说明,但是表值对我来说没有意义。我得到一个成功的连接消息,然后在连接选项卡上可以看到数据库的名称(我在向导中输入),但是下面的所有菜单都是乱七八糟的-没有一个显示我的架构。

有谁知道如何在Mac上从Postgres生成实体关系图?

postgresql dbvisualizer entity-relationship-model pgadmin

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

Money-Rails Gem - 实例货币

我在我的rails 4应用程序中有一个模型称为资金.

我使用Money Rails处理货币/货币组件 - https://github.com/RubyMoney/money-rails

我的资金模型有3个资金属性叫做amount_expenses,amount_honorarium和amount_principal_financing.

资金模型还具有用于创建实例的用户的货币属性,以选择应该为三个资金属性中的每一个使用哪种货币.

当我运行迁移到add_monetize到三个资金属性中的每一个时,它创建了三个相应的货币属性.

我需要它们吗?我可以要求用户为每个实例选择一次货币,然后使用该货币保存三个供资属性吗?那会怎么样?如果我在资金表中只有一个货币属性,那么货币化是否会知道如何选择显示三种融资金额?

资金表有:

 t.boolean  "expenses"
    t.boolean  "honorarium"
    t.boolean  "financing"
    t.string   "currency"
    t.string   "size"
    t.integer  "amount_expenses"
    t.integer  "amount_honorarium"
    t.integer  "amount_principal_financing"
    t.float    "return_on_finance"
    t.integer  "period_of_return"
    t.text     "expense_description"
    t.integer  "scope_id"
    t.integer  "amount_expenses_pennies",             default: 0,     null: false
    t.string   "amount_expenses_currency",            default: "GBP", null: false
    t.integer  "amount_honorarium_pennies",           default: 0,     null: false
    t.string   "amount_honorarium_currency",          default: "GBP", null: false
    t.integer  "amount_principal_financing_pennies",  default: 0,     null: false
    t.string   "amount_principal_financing_currency", default: "GBP", null: false
Run Code Online (Sandbox Code Playgroud)

结束

谢谢

ruby-on-rails money-rails

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

Rails 4 - 与Rolify合作 - 允许一组角色

我正在尝试用Rails 4创建一个应用程序.

我已经用Rolify gem定义了一系列角色.

现在,我想使用权威来允许有角色的用户做某些事情.在不止一种角色可以做某件事的情况下,我已经定义了一组角色.

在我的application_policy中,我定义了私有方法,这些方法列出了我想在权威权限中使用的角色组.

我的应用程序策略实例化用户和记录.然后我将记录定义为相关模型的名称(与该模型的策略名称相同).

我有:

class ApplicationPolicy
  attr_reader :user, :record

  def initialize(user, record)
    @user = user
    @record = record
  end

  def index?
    false
  end

  def show?
    scope.where(:id => record.id).exists?
  end

  def create?
    false
  end

  def new?
    create?
  end

  def update?
    false
  end

  def edit?
    update?
  end

  def destroy?
    false
  end

  def scope
    Pundit.policy_scope!(user, record.class)
  end

  class Scope
    attr_reader :user, :scope

    def initialize(user, scope)
      @user = user
      @scope = scope
    end

    def resolve
      scope
    end
  end

  private


    def …
Run Code Online (Sandbox Code Playgroud)

permissions roles ruby-on-rails rolify pundit

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

Rails 4 - 使用scaffold的强参数 - params.fetch

我使用scaffold命令在我的Rails 4应用程序中制作我的组件.

最近,设置强params的方法中使用的术语已经从params.require变为params.fetch,现在设置中有花括号.

private
    # Never trust parameters from the scary internet, only allow the white list through.
    def engagement_params
      params.fetch(:engagement, {})
    end
Run Code Online (Sandbox Code Playgroud)

我找不到任何解释变更或如何使用它的文档.

我还可以将params.fetch(:engagement).permit(:opinion)写入fetch命令吗?我不知道如何处理花括号.

如何使用这种新的表达方式完成强大的参数?

controller ruby-on-rails scaffolding strong-parameters

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

React-firestore-hooks 从云 Firestore 中获取数据库记录

我试图弄清楚如何在我的 React 应用程序中使用react-firebase-hooks,以便我可以简化对我的数据库的调用。

我之前的这个尝试版本(在这个问题的帮助下解决了)使用了这个类组件和一个 componentDidMount 函数(它有效):

class Form extends React.Component {
    state = {
      options: [],
    }

    async componentDidMount() {
        // const fsDB = firebase.firestore(); // Don't worry about this line if it comes from your config.
        let options = [];
        await fsDB.collection("abs_for_codes").get().then(function (querySnapshot) {
        querySnapshot.forEach(function(doc) {
            console.log(doc.id, ' => ', doc.data());
            options.push({
                value: doc.data().title.replace(/( )/g, ''),
                label: doc.data().title + ' - ABS ' + doc.id
            });
            });
        });
        this.setState({
            options
        });
    }
Run Code Online (Sandbox Code Playgroud)

我现在正在尝试学习如何使用钩子从使用 react-firebase-hooks 的数据库中获取数据。我目前的尝试是: …

firebase reactjs react-hooks

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

Formik Material UI React - 自动完成 - 不受控制的状态

我试图弄清楚如何按照此处的 Formik、Material UI、React 工具的 Autocomplete 字段文档中的说明进行操作。

文档中给出的示例是:

import { Autocomplete } from 'formik-material-ui-lab';

const options = [{ title: 'The Shawshank Redemption', year: 1994 }, ...]

<Field
  name="name"
  component={Autocomplete}
  options={options}
  getOptionLabel={(option: Movie) => option.title}
  style={{ width: 300 }}
  renderInput={(params: AutocompleteRenderInputParams) => (
    <TextField
      {...params}
      error={touched['name'] && !!errors['name']}
      helperText={errors['name']}
      label="Autocomplete"
      variant="outlined"
    />
  )}
/>;
Run Code Online (Sandbox Code Playgroud)

没有给出关于在 getOptionLabel 中使用 Movie 的含义的线索。当我尝试使用它时,电影和渲染输入对象中的 AutocompleteRenderInputParams 都带有下划线。我不知道为什么。

我看过这篇文章,它尝试了一种替代方法,但我也无法让它发挥作用。

我有一个表格,有两个自动完成字段。目前,它看起来像这样。

当我尝试使用表单时,提交按钮挂起,控制台日志显示:

Material-UI:getOptionLabel自动完成的方法返回 undefined 而不是“”的字符串。

import React, { useState } from 'react';
import { …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs material-ui formik formik-material-ui

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

AWS S3 Bucket CORS 配置:策略阻止所有访问

我正在尝试弄清楚如何配置 AWS S3 存储桶,以便我可以上传到它。我按照本教程中的说明进行操作,但仍然收到错误消息:

从源“http://localhost:3000”获取“https://s3.ap-southeast-2.amazonaws.com/”的访问已被 CORS 策略阻止:对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。如果不透明响应满足您的需求,请将请求模式设置为“no-cors”以在禁用 CORS 的情况下获取资源。

我有一个存储桶(在开发中),具有以下 CORS 策略:

[
    {
        "AllowedHeaders": [
            "*"
        ],
        "AllowedMethods": [
            "GET",
            "PUT",
            "POST",
            "DELETE"
        ],
        "AllowedOrigins": [
            "*"
        ],
        "ExposeHeaders": []
    }
]
Run Code Online (Sandbox Code Playgroud)

我有一个存储桶策略如下:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "Statement1",
            "Effect": "Allow",
            "Principal": "*",
            "Action": [
                "s3:List*",
                "s3:Get*"
            ],
Run Code Online (Sandbox Code Playgroud)

// 注意:我还尝试使用通配符“*”来允许所有操作,但我得到了与上面所示相同的错误消息

        "Resource": [
            "arn:aws:s3:::[MY_BUCKET_NAME]",
            "arn:aws:s3:::[MY_BUCKET_NAME]/*"
        ]
    }
]
Run Code Online (Sandbox Code Playgroud)

}

我可以看到AWS策略有一个额外的ACL部分,其中有勾选列表和读取的选项,但写入按钮呈灰色,并警告不要使用它以允许每个人写入。我勾选了它们以允许每个人都可以公开访问以列出和阅读(我不知道如何编辑灰色的写入选项)。我处于开发模式,想找到一种方法来测试连接是否可以正常工作,所以想写。即使当我尝试这样做时,我也会遇到与上面发布的相同的错误。

我正在寻找有关如何连接到 AWS S3 存储桶的最新说明。配置要求的变化似乎比博客教程的创建还要快。SO 上的许多答案不再映射到 AWS S3 配置文件中的配置设置。

amazon-s3 amazon-web-services cors

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