小编kev*_*ver的帖子

Rails nested_form将项添加到表行

我的目标是使用nested_form gem:https://github.com/ryanb/nested_form, 但是每次添加对象时,我都不想创建一组新的标签和字段,而是想在现有表中插入一行.

= nested_form_for @transaction do |f|
%h3 Line Items 
%table
  %tr
    %th Branch
    %th Department
    %th Invoice #
    %th Amount
    %th Transaction Type
    %th Deposit (y/n)
    %th

  = f.fields_for :line_items do |line_item|
    %tr
      %td 
        = line_item.text_field :location_id
      %td 
        = line_item.text_field :department_id
      %td 
        = line_item.text_field :invoice_num
      %td 
        = line_item.text_field :amount
      %td 
        = line_item.text_field :transaction_type
      %td 
        = line_item.text_field :deposit
      %td= line_item.link_to_remove "Remove"
    %p= f.link_to_add "Add", :line_items
Run Code Online (Sandbox Code Playgroud)

.link_to_add按钮只在第一行创建了一堆字段,第一行是td.

<h3>Line Items</h3>
<table>
  <tr>
    <th>Branch</th>
    <th>Department</th>
    <th>Invoice #</th>
    <th>Amount</th>
    <th>Transaction …
Run Code Online (Sandbox Code Playgroud)

html-table nested-forms ruby-on-rails-3

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

备份gem pg_dump版本在EC2和RDS之间不匹配

我正在配置备份gem(http://backup.github.io/backup/v4/)以在我的EC2实例上运行,在RDS中复制PostgreSQL数据库,并将备份存储在新的S3存储桶中.

备份gem运行pg_dump命令,但是AWS不允许在EC2和RDS上安装相同版本的Postgres,从而导致以下错误:

pg_dump: server version: 9.4.7; pg_dump version: 9.2.13
pg_dump: aborting because of server version mismatch
Run Code Online (Sandbox Code Playgroud)

这是因为EC2实例有版本:

$ pg_dump --version                                                                                                                                                                                                                                                                         
pg_dump (PostgreSQL) 9.2.13
Run Code Online (Sandbox Code Playgroud)

RDS实例有版本:

9.4.7-R1(9.5.2-R1的唯一其他版本选项)

在EC2上,运行yum list postgres*仅提供PostgreSQL 9.3之前的可用包.

因此,我似乎无法降级RDS或将EC2升级到匹配版本.

这是我的备份宝石模型配置,如果它有帮助:https://gist.github.com/anonymous/35f6f9e81846f53693fb03662c2192ad

在我发现有太多人开始提醒我RDS有内置备份之前.我的用例:我还希望能够将个人用户的数据回滚到不同的时间段而不影响整个数据库,而不仅仅是拥有完整的数据库回退.我计划保留这些手动备份,并最终编写脚本以从中提取以前的用户特定数据.

我的朋友推荐了另一个选项:如果用户想要回滚,我可以从自动快照中启动新的RDS,克隆我的EC2实例,将它们相互连接,从该快照收集用户特定数据,然后合并这些更改回主EC2实例.

postgresql backup amazon-s3 amazon-ec2 amazon-rds

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

Rails 4.2 web-console问题

升级到Rails 4.2后,我很高兴尝试新集成的Web控制台,但我遇到了一些问题.

在Rails 4.2的发行说明中,它提到:"使用Rails 4.2生成的新应用程序现在默认带有Web控制台gem."

自从我升级到4.2后,我认为这意味着我仍然需要在我的Gemfile中指定它.没有将它添加到我的Gemfile中,rails只给我"未定义的局部变量或方法`console'",所以我认为是这样的.

一旦我将gem'web-console','〜> 2.0'添加到Gemfile,并运行rails服务器,我现在得到:

/home/kevin/.rvm/gems/ruby-2.1.5/gems/binding_of_caller-0.7.3.pre1/lib/binding_of_caller/mri2.rb:21:in `callers': uninitialized constant RubyVM::DebugInspector (NameError)
  from /home/kevin/.rvm/gems/ruby-2.1.5/gems/better_errors-2.0.0/lib/better_errors/exception_extension.rb:7:in `set_backtrace'
  from /home/kevin/.rvm/gems/ruby-2.1.5@global/gems/bundler-1.7.6/lib/bundler/runtime.rb:76:in `require'
  from /home/kevin/.rvm/gems/ruby-2.1.5@global/gems/bundler-1.7.6/lib/bundler/runtime.rb:76:in `block (2 levels) in require'
  from /home/kevin/.rvm/gems/ruby-2.1.5@global/gems/bundler-1.7.6/lib/bundler/runtime.rb:72:in `each'
  from /home/kevin/.rvm/gems/ruby-2.1.5@global/gems/bundler-1.7.6/lib/bundler/runtime.rb:72:in `block in require'
  from /home/kevin/.rvm/gems/ruby-2.1.5@global/gems/bundler-1.7.6/lib/bundler/runtime.rb:61:in `each'
  from /home/kevin/.rvm/gems/ruby-2.1.5@global/gems/bundler-1.7.6/lib/bundler/runtime.rb:61:in `require'
  from /home/kevin/.rvm/gems/ruby-2.1.5@global/gems/bundler-1.7.6/lib/bundler.rb:133:in `require'
  from /home/kevin/workspace/applications/ems-heroes/config/application.rb:6:in `<top (required)>'
  from /home/kevin/.rvm/gems/ruby-2.1.5/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:78:in `require'
  from /home/kevin/.rvm/gems/ruby-2.1.5/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:78:in `block in server'
  from /home/kevin/.rvm/gems/ruby-2.1.5/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:75:in `tap'
  from /home/kevin/.rvm/gems/ruby-2.1.5/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:75:in `server'
  from /home/kevin/.rvm/gems/ruby-2.1.5/gems/railties-4.2.0/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
  from /home/kevin/.rvm/gems/ruby-2.1.5/gems/railties-4.2.0/lib/rails/commands.rb:17:in `<top (required)>'
  from bin/rails:4:in `require'
  from bin/rails:4:in `<main>'
Run Code Online (Sandbox Code Playgroud)

我用Google搜索并没有找到太多东西.任何意见是极大的赞赏.

谢谢!

ruby gem ruby-on-rails rails-console ruby-on-rails-4.2

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

Rails 4.2语法错误,意外':',期待=>

我有两台计算机,主要用于开发我的Rails应用程序.在计算机1上工作时,我在一些输入中添加了一些引导元素.例如:

= f.select :transport_from_state, options_for_select(state_populator, @invoice_ambulance.transport_from_state), { include_blank: true}, { class: 'chosen-select', 'data-placeholder': 'State' } 
Run Code Online (Sandbox Code Playgroud)

我添加了'data-placeholder': 'State'并使用了'newer'语法而不是旧的语​​法:data-placeholder' => 'State'.该页面在计算机1上没有错误.

我拉下了计算机2,现在我收到了每个实例的错误'data-placeholder'.这是我的错误:

syntax error, unexpected ':', expecting =>
...en-select', 'data-placeholder': 'State' }
Run Code Online (Sandbox Code Playgroud)

我可以用旧语法替换它,它工作正常.但是,我不应该将此实例的100个实例切换为不推荐使用的语法.我已经安装了捆绑包,更新了捆绑包,并重建了数据库而没有运气.

电脑1(工程)

红宝石2.2.0p0

Rails 4.2.0

电脑2(不起作用)

ruby 2.2.0preview1

Rails 4.2.0

ruby hash ruby-on-rails ruby-on-rails-4 ruby-on-rails-4.2

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