小编Pet*_*rov的帖子

React 中 i18next 翻译文件中的 HTML 标签

我在一个项目中使用i18next并且无法绕过在翻译文件中包含 html 标签并正确呈现它们。

我的.json翻译文件的一个例子:

"en": {
  "product": {
    "header": "Welcome, <strong>User!</strong>"
  }
}
Run Code Online (Sandbox Code Playgroud)

这个问题有一个很好的答案,但与 JQuery 相关。我没有使用 JQuery,我的项目是 React,这是我的设置:

import i18next from 'i18next';
import en from 'locales/en';

i18next.
  init({
    lng: 'en',
    fallbackLng: false,
    resources: en,
    debug: false,

    interpolation: {
      escapeValue: false
    }
  });

export default i18next.t.bind(i18next);
Run Code Online (Sandbox Code Playgroud)

在组件中,我有:

import t from 'i18n';

t('product.header')
Run Code Online (Sandbox Code Playgroud)

我想要的 HTML:

Welcome, <strong>User!</strong>
Run Code Online (Sandbox Code Playgroud)

Html 我得到:

Welcome, &lt;strong&gt;User!&lt;/strong&gt
Run Code Online (Sandbox Code Playgroud)

谢谢

html javascript internationalization i18next reactjs

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

控制simple_form的提示

我想在simple_form的输入框中显示提示.当单位"area_unit"选择改变时,提示也会改变,area_unit可以选择平方米和平方英尺.例如:当area_unit选择sq.m时,surface_area将当前值area_unit显示为sq.m,而提示将值area_unit显示为sq.feet.反之亦然.

苗条的代码:

.col-md-3.col-xs-6
= f.input :surface_area, label: "Surface Area" ,hint:""
.col-md-3.col-xs-6
= f.input :area_unit, collection: Property::AREA_UNIT_NAMES.map(&:reverse), include_blank: false
/ (in \u33A1)
Run Code Online (Sandbox Code Playgroud)

当area_unit改变时,值surface_area也会改变.

  switchUnit: ->
    $(document).on 'change', '#property_area_unit', ->
      areaInput = $('#property_surface_area')
      if $(this).val() == 'sq_m'
        area = Math.round(parseFloat(areaInput.val())*0.0929*100)/100
      else
        area = Math.round(parseFloat(areaInput.val())*10.7639*100)/100
      areaInput.val(area)
Run Code Online (Sandbox Code Playgroud)

但是如何设置内容的提示呢?

ruby-on-rails simple-form

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

在heroku上使用chrome驱动程序运行selenium:`找不到Chrome二进制文件

我是一个菜鸟,因为它涉及Linux设置(和heroku),所以如果这个问题是基本的道歉.

我想在Heroku上运行selenium webkit(在ruby中).我遇到一个困难,我的脚本无法找到Chrome二进制文件.

我实际上让chrome自己工作:

~ $ chromedriver
Starting ChromeDriver 2.22.397932 (282ed7cf89cf0053b6542e0d0f039d4123bbb6ad) on port 9515
Only local connections are allowed.
Run Code Online (Sandbox Code Playgroud)

chromedriver是我复制的文件/app/vendor/bundle/bin/chromedriver,只是为了让它变得更容易.chromedriver文件存在因为我安装了chromedriver-helper gem.gem应该使二进制文件可用于ruby进程,但没有.

我也尝试过显式设置路径,例如Selenium::WebDriver::Chrome.driver_path = 'chromedriver'在我的ruby代码中,上面提到的文件位于根类别中.

这一切都在当地完美运作(有或没有driver_path)

可能是什么原因?我多年前读过这个SO帖子,但它似乎已经过时了.任何想法将不胜感激!

错误跟踪:

~ $ ruby bin/run.rb
/app/vendor/bundle/ruby/2.2.0/gems/selenium-webdriver-2.53.4/lib/selenium/webdriver/remote/response.rb:70:in `assert_ok': unknown error: cannot find Chrome binary (Selenium::WebDriver::Error::UnknownError)
  (Driver info: chromedriver=2.22.397932 (282ed7cf89cf0053b6542e0d0f039d4123bbb6ad),platform=Linux 3.13.0-91-generic x86_64)
    from /app/vendor/bundle/ruby/2.2.0/gems/selenium-webdriver-2.53.4/lib/selenium/webdriver/remote/response.rb:34:in `initialize'
    from /app/vendor/bundle/ruby/2.2.0/gems/selenium-webdriver-2.53.4/lib/selenium/webdriver/remote/http/common.rb:78:in `new'
    from /app/vendor/bundle/ruby/2.2.0/gems/selenium-webdriver-2.53.4/lib/selenium/webdriver/remote/http/common.rb:78:in `create_response'
    from /app/vendor/bundle/ruby/2.2.0/gems/selenium-webdriver-2.53.4/lib/selenium/webdriver/remote/http/default.rb:90:in `request'
    from /app/vendor/bundle/ruby/2.2.0/gems/selenium-webdriver-2.53.4/lib/selenium/webdriver/remote/http/common.rb:59:in `call'
    from /app/vendor/bundle/ruby/2.2.0/gems/selenium-webdriver-2.53.4/lib/selenium/webdriver/remote/bridge.rb:649:in `raw_execute'
    from /app/vendor/bundle/ruby/2.2.0/gems/selenium-webdriver-2.53.4/lib/selenium/webdriver/remote/bridge.rb:123:in `create_session' …
Run Code Online (Sandbox Code Playgroud)

ruby linux selenium heroku selenium-webdriver

5
推荐指数
1
解决办法
3816
查看次数

heroku:术语“heroku”不被识别为 cmdlet、函数、脚本文件或可操作程序的名称

我安装了heroku。我将 bin 文件夹路径设置为环境变量。heroku -v我一直在尝试在 Visual Studio Code 文本编辑器中运行 command: 。但我收到以下错误:

heroku :术语“heroku”不被识别为 cmdlet、函数、脚本文件或可操作程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试。
在行:1 字符:1
+ heroku -v
+ ~~~~~~
+ CategoryInfo : ObjectNotFound: (heroku:String) [], CommandNotFoundException
+ ExcellentQualifiedErrorId : CommandNotFoundException

powershell heroku

5
推荐指数
1
解决办法
7387
查看次数

在现实场景中何时使用 getStaticProps 和 getServerSideProps

您好,我是 Next.js 的新手,我知道在 getStaticProps 中 Next.js 将在构建时预渲染此页面,在 getServerSideProps 中 Next.js 将使用 getServerSideProps 返回的数据在每个请求上预渲染此页面

但我想要一个何时对网站使用 getStaticProps 和 getServerSideProps 的示例

next.js

4
推荐指数
1
解决办法
4006
查看次数

在流星1.3中,"npm install"与"meteor npm install"相同吗?

通过一些流星库,我注意到npm install并且meteor npm install都在指令中使用.我知道Meteor 1.3介绍了对npm模块的支持,那么这两个命令有什么区别?

npm meteor npm-install

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

重新分配数组元素:语法 (Ruby)

我现在正在学习 Ruby 中的并行赋值运算符。当我尝试使用它来交换数组中的值时,我得到了意想不到的结果。在网上找不到这个问题的答案,希望有人能够阐明这里发生的事情。

第一个例子:

array = [1,2,3]
=> [1, 2, 3]
array[0,1] = array[1,0] 
=> []
array
=> [2, 3] #thought this would be = [2,1,3]
Run Code Online (Sandbox Code Playgroud)

array[0] 去了哪里?为什么 Ruby 不交换这些值?

第二个例子:

array = [1,2,3]
=> [1, 2, 3]
array[0,1] = [1,0]
=> [1, 0]
array
=> [1, 0, 2, 3] #was expecting [1,0,3]
Run Code Online (Sandbox Code Playgroud)

为什么 Ruby 将右侧插入数组而不替换值?

ruby arrays syntax assignment-operator parallel-assignment

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