我有一个网站,可以部署到十几个客户端.主网站有一个基本模板,每个客户端都有一个覆盖颜色的客户端文件夹.问题是有很多CSS文件,因此进行更改会迫使我们更新每个客户端需要很长时间.自动构建过程负责替换更新的文件.
我想将CSS文件更改为usercontrols,然后这些用户控件可以从另一个存储客户端特定值的usercontrol继承.
因此,我没有一个forms.css文件,而是一个/client/forms.css文件,而是有一个Forms.ascx文件,该文件继承自包含颜色的usercontrol.
例如:
<%@ Control Language="C#" ClassName="Forms" %>
<%@ Register TagPrefix="css" TagName="Client" Src="~/css/ClientStyling.ascx" %>
/* CSS Document */
body
{
color:<%=Client.BodyColor%>
}
Run Code Online (Sandbox Code Playgroud)
然后,母版页将继承自usercontrol.这将使客户端站点的维护更加容易.
这个解决方案是否有效且值得推荐?或者有更好的方法来实现相同的最终结果吗?
如果这是可能的,那么还可以让Forms.ascx控件将标记输出为CSS吗?或者扩展.css并仍然具有ascx属性?
我正在尝试使用react-hot-loader设置webpack热重装.它似乎主要是工作.我在现有的rails应用程序中使用webpack.
但它不是热重装.每次我的反应代码改变时,它只是触发重载.我得到的错误消息是:
[HMR] Cannot apply update. Need to do a full reload! - dev-server.js:18
[HMR] Error: Aborted because 0 is not accepted - dev-server.js:19
at hotApply (http://localhost:8080/assets/webpack/bundle.js?body=1:380:31)
at hotUpdateDownloaded (http://localhost:8080/assets/webpack/bundle.js?body=1:293:13)
at hotAddUpdateChunk (http://localhost:8080/assets/webpack/bundle.js?body=1:273:13)
at webpackHotUpdateCallback (http://localhost:8080/assets/webpack/bundle.js?body=1:5:12)
at http://localhost:8080/assets/webpack0.bd89931b2fa8e2901794.hot-update.js:1:1
Navigated to http://lvh.me:3000/react_page
Run Code Online (Sandbox Code Playgroud)
这是我的webpack.hot.config.js设置:
var path = require('path');
var webpack = require('webpack');
var config = module.exports = {
// Set 'context' for Rails Asset Pipeline
context: __dirname,
entry: {
App: [
'webpack-dev-server/client?http://localhost:8080/', // WebpackDevServer host and port
'webpack/hot/only-dev-server', // "only" …Run Code Online (Sandbox Code Playgroud) 我正在尝试通过 C# 及其 API 设置对 Stripe 的调用。我正在使用以下代码通过帖子向他们的 API 添加新卡,并使用 JSON 响应来确定下一步
(我试图去掉所有不必要的东西)
public static string stripeAPIcall(string customerId, string parameters, string stripeApiKey) {
using (var stripeAPI = new System.Net.WebClient())
{
try
{
// set credentials
stripeAPI.Credentials = new System.Net.NetworkCredential(stripeApiKey, "");
//Set Headers
stripeAPI.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.0.3705;)");
stripeAPI.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
return stripeAPI.UploadString("https://api.stripe.com/v1/customers/" + customerId + "/cards, parameters);
}
catch (WebException ex)
{
return "error";
}
}
}
Run Code Online (Sandbox Code Playgroud)
当成功时,这可以很好地创建卡片。但是,如果出现错误,例如
我使用了条纹“card_declined”测试卡号 4000000000000002
结果是具有以下 JSON 结构的 402 错误 …
所以我创建了一个小模型/控制器来处理我的应用程序中的令牌,带有自定义路由。但是,当我运行测试(rspec)时,我会失败
控制器
读取令牌(在别处生成)
class TokensController < ApplicationController
def read_token
#do whatever this token is supposed to do (unsubscribe, confirm email, etc)
redirect_to(root_path)
end
end
Run Code Online (Sandbox Code Playgroud)
路线
get '/ta/:uuid' => 'tokens#read_token', param: :uuid, as: 'token_action'
Run Code Online (Sandbox Code Playgroud)
耙路线产生
token_action GET /ta/:uuid(.:format) tokens#read_token {:param=>:uuid}
Run Code Online (Sandbox Code Playgroud)
模型
包括以显示令牌在创建链接时使用的是 uuid,而不是 id
class Token < ActiveRecord::Base
def to_param
uuid
end
end
Run Code Online (Sandbox Code Playgroud)
它在开发模式下工作!:D
但是当我进行测试时......
rspec 控制器测试
require 'rails_helper'
RSpec.describe TokensController, type: :controller do
describe "#index" do
it "test" do
get :read_token, uuid: "12345" #12345 is obviously not real …Run Code Online (Sandbox Code Playgroud)