小编AnA*_*ice的帖子

Rails找到ID为NOT IN的条件,如何支持映射的空值?

我想向用户显示他们目前还不是其中的所有组.当用户在至少一个组中时,以下工作正常:

Group.find(:all, :conditions => ['id not in (?), @groups.map(&:id)])
Run Code Online (Sandbox Code Playgroud)

当用户在0组中时,这会失败,并且@groups.map(&:id)为null.如果@group.map(&:id)在rails上的ruby中为null/nill,我如何更新上面的内容以支持用例?

谢谢

ruby ruby-on-rails ruby-on-rails-3

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

使用redirect_to并传递额外的参数

我正在尝试返回redirect_to并传递额外的参数.这是我在控制器中的内容:

redirect_to(env['omniauth.origin'], :hello => "hello world")
Run Code Online (Sandbox Code Playgroud)

这是正确地重定向到URL但是没有传递hello.想法?

ruby-on-rails ruby-on-rails-3

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

应该将autovacuum设置为on?

我有一个在amazon ec2/ebs上运行的Postgresql 9.1 db.数据库开始变慢.我们有一个包含1m记录的表,似乎正在减慢一切.在查看postgres配置时,我们注意到autovacum设置被注释掉了.

解决这个问题的正确方法是什么.autovacum应该设置为on?我们是否应该在设定的时间间隔内有一些automacum的cron?

此外,任何有关如何真空产品数据库的想法/链接,如何知道您是否需要真空将不胜感激.我正在学习.谢谢

postgresql postgresql-9.1

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

从Rails导出CSV数据

我正在努力从rails导出csv数据.我在这里按照教程:http://railscasts.com/episodes/362-exporting-csv-and-excel? view= asciicast

在我的控制器中我有:

  def show
    # @company is being provided correctly.
    @groups = @company.groups
    render text: @groups.to_csv
  end  
Run Code Online (Sandbox Code Playgroud)

在我的group.rb模型中:

  def self.to_csv
    Rails.logger.info "Hello World"
    CSV.generate do |csv|
      csv << column_names
      all.each do |product|
        csv << product.attributes.values_at(*column_names)
      end
    end
  end
Run Code Online (Sandbox Code Playgroud)

问题是浏览器输出的内容如下:

#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#
Run Code Online (Sandbox Code Playgroud)

即使在重新启动rails之后,模型方法似乎也被忽略了.任何想法在这里有什么问题?谢谢

csv ruby-on-rails ruby-on-rails-3

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

使用Rails find_or_initialize_by_email,如何确定是否找到或初始化记录?

在我的一个控制器中,我正在做:

user = User.find_or_initialize_by_email(@omniauth['info']['email'])
Run Code Online (Sandbox Code Playgroud)

然后我需要知道是否找到或初始化了记录.我试过这个:

if user
else
end 
Run Code Online (Sandbox Code Playgroud)

但这不起作用,因为总会有用户.找到或初始化找到或初始化的正确方法是什么?

谢谢

ruby ruby-on-rails ruby-on-rails-3

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

如何获取使用无效数据提交的rails表单以重新填充用户输入的字段

我正在努力构建一个rails 3 + devise,用户注册页面.这将是一个额外的页面,不会取代现有的设计注册页面.此页面将包含用户信息和结算信息.

我正在尝试提交表单,如果表单字段不保存,则重新加载的页面包含用户先前输入的数据.这里是一个片段:

<%= form_for(User.new, :url => '/pricing/sign_up') do |f| %>
    <%= f.label :email %>
    <%= f.email_field :email %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

当表单提交无效数据时.当视图重新渲染时,输入的现有电子邮件不会保留.如何使现有用户的输入保持不变,以帮助用户快速纠正错误并提交有效表单?

谢谢

ruby-on-rails devise ruby-on-rails-3

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

使用Redux-Form,如何使用相同名称的多个输入?

我正在努力构建下面的redux-form以收集用户输入的电子邮件.这些字段都应该具有相同的名称="email"

问题是当组件呈现时,我聚焦并键入一个字段时,所有字段立即使用第一个输入字段中的最新值更新.这三个领域似乎都捆绑在了一起.

使用redux-form,如何使表单具有相同名称的输入?

import React from 'react';
import { Field, reduxForm } from 'redux-form';
import {connect} from 'react-redux';

class InvitePage extends React.Component {

  handleSubmit(data) {
    console.log(data)
  }

  render() {

    return (
      <div>
        <h1>Invites</h1>
          <form onSubmit={this.props.handleSubmit(this.handleSubmit.bind(this))}>
            <div>
              <label>Email address</label>
              <div>
                <Field
                  name="email"
                  component="input"
                  type="email"
                  placeholder="Email"
                />
              </div>
              <div>
                <Field
                  name="email"
                  component="input"
                  type="email"
                  placeholder="Email"
                />
              </div>
              <div>
                <Field
                  name="email"
                  component="input"
                  type="email"
                  placeholder="Email"
                />
              </div>
            </div>

            <div>
              <button type="submit">Submit</button>
            </div>

          </form>
      </div>
    );
  }

}

InvitePage = reduxForm({
  form: 'InvitePage'
})(InvitePage);

export default …
Run Code Online (Sandbox Code Playgroud)

reactjs redux redux-form react-redux

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

如何动态构建redux表单?

我正在寻找学习如何动态构建 redux-form 的方法。想法是,称为 componentDidMount 的组件从服务器获取项目列表并将它们插入商店 store.my_items 中:

{'item1', 'itemB', 'itemZZZ', etc...} 
Run Code Online (Sandbox Code Playgroud)

现在这些项目在商店中,我想为 store.my_items 中的每个项目构建一个带有字段的 redux-form。

例如,其中几个是动态创建的:

      <div>
        <label>ItemXXX</label>
        <div>
          <label>
            <Field name="ItemXXX" component="input" type="radio" value="1" />
            {' '}
            1
          </label>
          <label>
            <Field name="ItemXXX" component="input" type="radio" value="2" />
            {' '}
            2
          </label>
        </div>
      </div>
Run Code Online (Sandbox Code Playgroud)

使用 react、redux-form,构建这种动态 redux 表单的正确方法是什么?

谢谢

reactjs redux-form react-redux

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

Rails,如何指定在控制器的 JSON 响应中输出哪些字段?

在我的控制器中,我目前有:

invite = Invite.find_by_token(params[:id])
user = invite.user

json_response({
  user: user
})

def json_response(object, status = :ok)
  render json: object, status: status
end
Run Code Online (Sandbox Code Playgroud)

现在,用户正在返回所有用户字段。我只想返回(ID,电子邮件)......我试过:

user = invite.user.select(:id, :email)
user = invite.user.pluck(:id, :email)
Run Code Online (Sandbox Code Playgroud)

两者都不起作用。想法?

ruby ruby-on-rails ruby-on-rails-5

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

如何让 Flexbox 允许输入为 100% 宽度?

我有以下由 bootstrap 4 提供支持的 Flexbox 表单。

https://jsfiddle.net/kkt0k2bs/1/

我有一个媒体查询来调整表单元素的大小以缩小显示。

在较大的显示器上,我希望表单项内联,但在较小的屏幕上,我希望表单元素堆叠且为 100%。

输入在较小的显示器上不会达到 100% 宽度...我怎样才能使代码在较小的显示器上获得 100% 的宽度?

HTML:

<div class="form-mod">
        <form class="form-inline justify-content-center d-inline-flex">
            <div class="form-group">
                <div>
                    <input type="text" name="email" value="" placeholder="Enter your email..." class="form-control">
                </div>
            </div>
            <div class="form-group">
                <button type="submit" class="btn btn-primary">Request an Invite</button>
            </div>
        </form>
</div>
Run Code Online (Sandbox Code Playgroud)

CSS:

.form-mod {
  display: inline-block;
  text-align: center;
  padding: 16px 32px;
  background: rgba(0, 0, 0, 0.2);
  border-radius: 3;
  box-shadow: 0 20px 63px 0 rgba(0,0,0,.6);

  [type="text"] {
    width: 260px;
    margin-right: 16px;
    border-radius: 100px;
    padding-left: 18px;
    border-radius: …
Run Code Online (Sandbox Code Playgroud)

css flexbox twitter-bootstrap twitter-bootstrap-4

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