小编Bla*_*son的帖子

对React Native App的脱机支持

我希望为React Native应用程序添加脱机支持.该应用程序目前运行由Postgres数据库支持的API.

我已经在使用NetInfo来确定用户是否有连接,但我希望了解添加离线功能的最佳方法,用户可以继续更新其数据和信息,然后在再次获得连接时让所有内容同步.

似乎经常推荐使用pouchdb/couchdb解决方案 - 但是,我根本不想更改我的数据库.理想情况下,我希望能够以某种方式将API调用的"作业"存储在队列中,然后在恢复连接后执行它们.

在React Native App上获得此脱机功能的最佳方法是什么?

提前致谢!

mobile ios react-native

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

Rails 查询组并选择返回按另一个属性分组的 ID 数组?

我知道这Model.group(:account_id).count将返回 account_ids => counts 的哈希值。

{3=>3, 4=>3, 8=>8, 10=>5, 20=>4}
Run Code Online (Sandbox Code Playgroud)

我想返回一个哈希值 account_ids => ids

{
  3=>[4594, 4599, 4595], 
  8=>[4600, 4603, 4604, 4606, 4609, 4613, 4611, 4605], 
  20=>[4621, 4623, 4624, 4620], 
  10=>[4626, 4627, 4630, 4631, 4628], 
  4=>[222, 1189, 715]
}
Run Code Online (Sandbox Code Playgroud)

我梦想着这样Model.group(:account_id).pluck(:id)做,但它抛出了一个错误:

ActiveRecord::StatementInvalid: PG::GroupingError: ERROR:  column 
"models.id" must appear in the GROUP BY clause or be used in an 
aggregate function
LINE 1: SELECT "models"."id" FROM "models...
Run Code Online (Sandbox Code Playgroud)

我的实际解决方案相当丑陋。似乎应该有更简单的方法

Model.pluck(:id, :account_id).to_h
  .group_by{|k,v| v}
  .transform_values {|v| v.map(&:first) }
Run Code Online (Sandbox Code Playgroud)

activerecord ruby-on-rails

10
推荐指数
2
解决办法
3612
查看次数

如何解决 Sprockets::DoubleLinkError application.css

我在推送到 heroku 存储库时遇到此错误

remote:        rake aborted!
remote:        Sprockets::DoubleLinkError: Multiple files with the same output path cannot be linked ("style.css")
remote:        In "/tmp/build_f430cee0cae4a9543fac20926137c7cc/app/assets/config/manifest.js" these files were linked:
remote:          - /tmp/build_f430cee0cae4a9543fac20926137c7cc/app/assets/stylesheets/style.css
remote:          - /tmp/build_f430cee0cae4a9543fac20926137c7cc/app/assets/stylesheets/style.scss
Run Code Online (Sandbox Code Playgroud)

我已经尝试过这些建议:

  1. 我删除了 .css 文件并保留了 .scss (据我所知没有重复项)
  2. 清除临时目录heroku run rake tmp:clear
  3. 重置回购协议heroku repo:reset -a <app name>
  4. heroku repo:purge_cache -a <app name>

但当我推送到 Heroku 远程时,我仍然不断收到错误

ruby-on-rails heroku sprockets

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

Facebook Graph API 2.0创建事件

根据facebook,截至2014年4月30日,该create_event方法已不再可用,我认为这意味着无法发布事件?

https://developers.facebook.com/docs/apps/changelog

create_event不再可用.

是否仍然可以使用v1.0?(将于2015年4月30日逐步淘汰).我找不到任何示例,我想代表facebook页面发布活动.这还有可能吗?

https://developers.facebook.com/docs/graph-api/reference/v1.0/page/events

当我尝试它时,我得到折旧警告和冒充使用令牌的页面,但是当我使用我的个人令牌时它也失败了.可能是因为我没有create_event权限(尽管请求它,它不会显示在facebook令牌调试器中)

Deprecation warning: The REST API is now deprecated; please use the equivalent Graph API methods instead.  See http://developers.facebook.com/blog/post/616/.
=> {"error_code"=>190,
 "error_msg"=>"Impersonated access tokens can only be used with the Graph API",
Run Code Online (Sandbox Code Playgroud)

权限:

[{"permission"=>"installed", "status"=>"granted"},
 {"permission"=>"public_profile", "status"=>"granted"},
 {"permission"=>"manage_pages", "status"=>"granted"},
 {"permission"=>"publish_actions", "status"=>"granted"}]
Run Code Online (Sandbox Code Playgroud)

facebook facebook-graph-api koala koala-gem

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

Ruby on Rails 4 - CSV导入 - 没有隐式转换为字符串

我正在尝试将CS​​V数据导入我的mysql数据库,但是当我尝试上传文件时遇到错误:

no implicit conversion of ActionDispatch::Http::UploadedFile into String
Run Code Online (Sandbox Code Playgroud)

这就是CSV文件中的一行:

751,"01/17/2015","11:17:32","60","TDFSRDSK","2","10","-1","0","3","","26","3","","","1","0"
Run Code Online (Sandbox Code Playgroud)

这是导入的代码,在product.rb中

def self.import(file)
  CSV.foreach(file) do |row|
    id, jour, heure, valeur, app, a, b, c, d, e, f, g, h, i, j, k, l = row
    userid = current_user.id
    product = Product.create(date: jour, valeur: valeur,user_id: userid)
  end
end
Run Code Online (Sandbox Code Playgroud)

在product_controller.rb中

def import
 Product.import(params[:file])
 redirect_to_root_url, notice "Products imported"
end
Run Code Online (Sandbox Code Playgroud)

在索引中:

<%= form_tag import_products_path, multipart: true do %>
 <%= file_field_tag :file %>
 <%= submit_tag "Import" %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

在routes.rb我有:

resources :products do
 collection …
Run Code Online (Sandbox Code Playgroud)

ruby mysql csv ruby-on-rails

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

Rails模型找不到的地方 查询不在哪里

我有一个带有可选的twitter集成的用户模型.

我添加了一个'用户名'属性,只有在用户完成了Twitter身份验证后才会填充该属性.

我想找到所有集成的用户.查找属性所在的所有对象或不是nil的最佳方法是什么?

ruby-on-rails

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

Twilio作为一对多短信对话的代理

我正在为顾问建立一个小型短信服务.他希望他的客户能够将短信发送到一个Twilio号码,并将他们转发到他自己的电话号码.当他做出回应时,他希望响应看起来来自Twilio号码(以便隐藏他的个人号码),并最终通过代表SMS通信的单个Twilio号码保持多个对话.我想我可以使用会话来做到这一点,但我不完全确定如何实现它?

对好方法的任何想法?

twilio

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

Native Base Footer Nav选项卡

我是React Native的新手,并创建了一个带有三个按钮标签的页脚.我现在想知道如何通过单击按钮来呈现不同的屏幕.我的代码:

export default class Uptown extends Component {
render() {
  return (
    <Container>
      <Header>
        <Title>Uptown</Title>
      </Header>

      <Content>
        <App />
      </Content>

            <Footer>
                <FooterTab>
                  <Button>
                    Contact
                  </Button>
                  <Button>
                    Here
                  </Button>
                  <Button>
                    Me
                  </Button>
                </FooterTab>
            </Footer>
        </Container>
  );
 }
}
Run Code Online (Sandbox Code Playgroud)

按下按钮时如何更改屏幕?

navigation react-native

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

自定义 will_paginate 渲染器

will_paginate 自定义渲染器缺少文档

没有文件怎么写自己的链接呈现,但源代码是不言自明。深入研究,并有选择地覆盖 LinkRenderer 的方法以根据您的需要调整它们。

有没有非官方文件?

ruby-on-rails will-paginate

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

CKeditor protectedSource车把

我试图使用带有车把模板的CKeditor来允许用户在我们的应用程序中自定义消息.

CKEditor做了一些奇怪的事情

它变成了这样:

<table>
  <thead>
    <tr>
      <td>Activity</td>
      <td>Quantity</td>
      <td>Rate</td>
      <td>Amount</td>
    </tr>
  </thead>
  <tbody>
    {{line_items}}
  </tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

进入:

{{line_items}}
<table>
  <thead>
    <tr>
      <td>Activity</td>
      <td>Quantity</td>
      <td>Rate</td>
      <td>Amount</td>
    </tr>
  </thead>
  <tbody></tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

然后谷歌搜索引导我config.protectedSource用来保护所有车把.

CKEDITOR.replace('template_body', {
  //... other stuff

  protectedSource: [
    /{{[\s\S]*?}}/g
  ]
}
Run Code Online (Sandbox Code Playgroud)

此设置可以正确保护车把标签不被移动和移除,但是可以防止它们被查看/编辑!

CKEditor在编辑模式下隐藏受保护的源,并在源模式下显示它!那是一个bug吗?我可以{{}}在编辑器的源模式下看到,但不能在常规模式下看到?

ckeditor

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