小编Rim*_*ian的帖子

为什么Ruby on Rails弃用了scaffold方法

我正在学习Ruby on Rails,所以我相信我迟早会发现它.

为什么在Rails的第2版中不推荐使用scaffold方法?

ruby ruby-on-rails

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

使用has_many关联创建对象会导致NoMethodError

控制器

class ExperiencesController < ApplicationController
  def create
    @resume = Resume.find(params[:resume])
    @experience = @resume.build_experience(params[:experience])
  end
end

class ResumesController < ApplicationController
  def create
    @resume = Resume.new(params[:resume])
    @resume.build_webconnection
    @resume.build_experience   # <<<<<<<<< Error occurs here

    if @resume.save
      #UserMailer.created_resume_email(@user).deliver
      redirect_to @resume
    else
      @title = "Create a new resume"
      render :action => "new"
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

楷模

class Experience < ActiveRecord::Base
  belongs_to :resume
end

class Resume < ActiveRecord::Base
  has_one   :webconnection
  has_many  :experiences
end
Run Code Online (Sandbox Code Playgroud)

我尝试创建一个简历时出现错误消息(这也创建了一个与简历相关的经验)

NoMethodError in ResumesController#create
undefined method `build_experience' for #<Resume:0xbb428a4>
Run Code Online (Sandbox Code Playgroud)

我觉得我已经把所有东西都放在了适当位置,但却错过了一个's'或某个地方.知道我为什么会收到这个错误吗?

ruby-on-rails associations ruby-on-rails-3 ruby-on-rails-3.1

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

如何在javascript中嵌入groov脚本?

有可能像在JavaScript中一样在html中嵌入groovy脚本吗?我想要一个使用groovy脚本而不是javascript的onclick按钮事件

谢谢

html javascript groovy

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

具有测试血统的工厂

我想运行一些 RSpec 测试来测试 Rails 中的 Ancestry。我想使用 FactoryGirl 为测试创建机构实例。我尝试了下面提到的以下方法,但没有成功创建子记录。

工厂.rb文件

  factory :institution do
    # sequence(:name) { |n| "University of XYZ#{n}" }
  end
Run Code Online (Sandbox Code Playgroud)

在测试中,我使用以下样式 样式:1

let(:institution){ FactoryGirl.create(:institution, name: "ABC Institution") }
let(:institution_child) {FactoryGirl.create(:institution, name: "Sub Institution", ancestry: institution.id) }
Run Code Online (Sandbox Code Playgroud)

款式:2

let(:institution){ FactoryGirl.create(:institution, name: "ABC Institution") }
let(:institution_child) {FactoryGirl.create(:institution, name: "Sub Institution", parent_id: institution.id) }
Run Code Online (Sandbox Code Playgroud)

款式:3

describe Institution do
  before do
    @institution = Institution.create({:institution, name: "ABC Institution"})
    @institution_child = Institution.create(:institution, name: "Sub Institution"}
  end

  it "should create the child institution" do
    assigns(:institution_child).should be_a_new(Institution) …
Run Code Online (Sandbox Code Playgroud)

rspec ruby-on-rails ancestry factory-bot

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

如何在加载模型时在Ember中显示加载模板?

我想在下一个模板加载之前在Ember中渲染一个加载模板.现在我有一个应用程序路径的加载模板,如果用户直接导航到URL,它可以正常工作.但是,如果用户link-to从应用程序的另一个页面中单击一个页面,我希望显示相同的模板.如何才能做到这一点?

调度afterRender不起作用,因为页面尚未"加载"(现在它只是在下一页加载时在上一页停留几秒钟;使用afterRender导致相同的事情,但是一旦加载你得到一个加载div在淡出之前的简要概述:显然不是预期的行为).

如何显示加载模板呢?

减少加载时间不是一种选择,我们做了一些非常繁重的计算.

编辑:我确实认为我的问题与建议重复的问题不同,因为我想为所有路由提供相同的加载模板,默认加载模板结构不提供."旧版"LoadingRoute解决方案不再适用,因为最新版本的Ember不推荐使用视图.

javascript templates ember.js ember-cli

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

如何在ember中以单向绑定/完全没有绑定的方式将数据传递给组件?

在模板中,我将组件称为:

{{comp-name data=controllerData}}
Run Code Online (Sandbox Code Playgroud)

如果我更改组件中的数据,控制器controllerData也会因隐式双向绑定而发生更改.我有两个问题:

1)如何使其成为单向绑定.因此,只有从控制器的变化controllerData传播到组件的数据.

2)应该没有任何约束力.意味着,如果我更改组件或控制器中的数据.它不应该反映在其他事物中.

ember.js ember.js-component

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

在 MacOS 上,当我尝试从终端选择代码时,如何关闭黄色突出显示和弹出的“查找”窗口?

目前,我在 Mac 上使用 Linux VM 来实现某些目的,因为现在很难从终端窗口中选择和复制一段代码,而不需要用黄色突出显示一些标记以及带有定义的弹出窗口等。弹出,打乱了我突出显示代码的努力。

在系统偏好设置下,“查找”突出显示聚光灯和触控板。关闭 Spotlight 似乎并没有减轻这种行为。

如何从终端窗口复制和粘贴代码?对于某些问题,我有一个解决方法,我可以从 Brave 查看页面源代码并在那里选择它,但如果能够正常从终端窗口选择和复制代码,那就太好了。

macos terminal

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

通过 Stripe CLI 使用装置

我想通过使用Stripe CLI触发一些特定请求来测试我的 API 行为。

例如:

stripe trigger customer.subscription.deleted # with some fixture here

有一个固定装置命令记录为一项功能,但我不知道如何使用它。文档说:

Fixtures 命令允许您将 json 文件作为一系列 API 请求运行。这对于填充数据、执行特定流程或测试 API 行为等事情非常有用。

https://github.com/stripe/stripe-cli/wiki/fixtures-command

如何将灯具加载到 CLI 中?

stripe-payments

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

Site Prism,Capybara:带变量的选择器

我正在使用site_prism来实现水豚中的页面对象模型。看起来很有趣。

我如何指定一个选择器,例如“[data-id='x']”,其中x是整数?像这样的东西:

class Home < SitePrism::Page
  set_url "http://www.example.com"
  element :row, "[data-id='@id']"
end
Run Code Online (Sandbox Code Playgroud)

然后在我的测试中:

Then /^the home page should contain a row$/ do
  @home.should have_row 1234
end
Run Code Online (Sandbox Code Playgroud)

ruby capybara ruby-on-rails-3 pageobjects site-prism

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

@apollo/client 错误 - 在既不是 React 函数组件也不是自定义 React Hook 函数的函数中调用 React Hook“useQuery”

当我使用 @apollo/client 进行 graphql api 调用时出现以下错误

React Hook“useQuery”在函数“graphqlService”中调用,该函数既不是React函数组件,也不是自定义React Hook函数react-hooks/rules-of-hooks

索引文件:

import { ApolloClient, InMemoryCache, ApolloProvider } from '@apollo/client';

const client = new ApolloClient({
  uri: "http://localhost:3008",
  cache: new InMemoryCache()
});

 ReactDOM.render(
      <ApolloProvider client={client}>
       <App/>
    </ApolloProvider>,       
        document.getElementById('root')
      );
Run Code Online (Sandbox Code Playgroud)

功能组件文件:

import React from 'react';
import {  
  useQuery,
  gql
} from "@apollo/client";
import Schema from '../models/schema';

function graphqlService( params : any = {} ) {
  const query = Schema.getPanelData;
  const { data } = useQuery(query, {variables: params});

  if (data) return data;     
}
Run Code Online (Sandbox Code Playgroud)

导出默认的graphqlService;

类组件文件: …

apollo reactjs graphql apollo-client

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