小编wal*_*.ar的帖子

如何使用bundler重新安装gem

我做了一个bundle show并获得了一个gem目录的完整路径.

不幸的是,我删除了目录rm -r gem_path.然后我的rails应用程序不再工作了.如果我尝试启动服务器或启动rails控制台,则会输出以下错误:

<class:Application>:未初始化的常量MyAPP::Application::Gem(NameError)

我该怎么做才能还掉它?

我试图bundle installbundle update希望强制捆绑搜索gem并将其安装回来,但是没有用.

我也尝试删除Gemfile.lock并运行bundle install.什么都没有改变,同样的错误.

有问题的宝石就是可以作为标记.

ruby rubygems bundler

56
推荐指数
7
解决办法
8万
查看次数

重构PL/pgSQL函数以返回各种SELECT查询的输出

我写了一个函数,输出一个SELECT以文本形式组成的PostgreSQL 查询.现在我不想再输出文本,但实际上SELECT对数据库运行生成的语句并返回结果 - 就像查询本身一样.

到目前为止我所拥有的:

CREATE OR REPLACE FUNCTION data_of(integer)
  RETURNS text AS
$BODY$
DECLARE
   sensors varchar(100);   -- holds list of column names
   type    varchar(100);   -- holds name of table
   result  text;           -- holds SQL query
       -- declare more variables

BEGIN
      -- do some crazy stuff

      result := 'SELECT\r\nDatahora,' || sensors ||
      '\r\n\r\nFROM\r\n' || type ||
      '\r\n\r\nWHERE\r\id=' || $1 ||'\r\n\r\nORDER BY Datahora;';

      RETURN result;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE;
ALTER FUNCTION data_of(integer) OWNER TO postgres;
Run Code Online (Sandbox Code Playgroud)

sensors …

sql database postgresql dynamic-sql plpgsql

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

malloc:***对象的错误:没有分配被释放的指针***在malloc_error_break中设置一个断点来调试

有人可以帮我弄清楚我在哪里得到这个错误.我知道它可能是双重删除或类似的东西.对于背景,这是霍夫曼树的一个实现,你可以在维基百科上轻松实现.

CharCountNode类实现

int main()
{
  ifstream input;
  input.open("input.txt");

  MinPriorityQueue<CharCountNode> heap;
  map<char, int> m;

  while(input.good())
    m[input.get()] += 1;

  for( map<char, int>::const_iterator it = m.begin(); it != m.end(); ++it )
    heap.enqueue(CharCountNode(it->first, it->second));


  while(heap.getSize() > 1)
  {
    CharCountNode a, b, parent;

    a = heap.dequeue();
    b = heap.dequeue();
    parent = CharCountNode('*', a.getCount() + b.getCount());

    parent.left = &a;
    parent.right = &b;

    heap.enqueue(parent);
  }
}
Run Code Online (Sandbox Code Playgroud)

c c++ malloc pointers huffman-code

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

如何使按钮在erb中作为链接工作?

<%= link_to 'New Post', new_post_path %> 
Run Code Online (Sandbox Code Playgroud)

这会产生链接new_post_path.以前我使用过<input type="submit" class="new" name="Addlist" value="Add New" />类似按钮的东西.那么如何让链接看起来像erb中的按钮?

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

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

在View Rails中计数

我有一个项目列表,我在我的节目视图中循环.这一切都很好.但是,我想得到每个项目前面的数字,每个循环递增(i = 0,i ++你知道钻孔).

现在,我怎么能在Rails中做到这一点?这就是我现在所得到的:

<% i = 0 %>
<% @trip.triplocations.each do |tl| %>
  <article id="<%= dom_id(tl)  %>">
    <strong> <%= tl.title %> </strong>
      <p>
        <%= tl.description %>
      </p>
  </article>
<% end %>
Run Code Online (Sandbox Code Playgroud)

ruby each ruby-on-rails count ruby-on-rails-3

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

如何在Rails上的URL中放置电子邮件地址

我想邀请那些在他们的网址中传递电子邮件的人:

localhost:3000/invite_me/email@gmail.com
Run Code Online (Sandbox Code Playgroud)

我试过这个,match但它没有用.

match "/invite_me/:email" => "application#invite_me",
    :constraints => { :email => '/.+@.+\..*/' }
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

No route matches [GET] "/invite_me/waldyr.ar@gmail.com"
Run Code Online (Sandbox Code Playgroud)

rake路线输出:

root  /                           application#index
  /invite_me/:email(.:format) application#invite_me {:email=>"/.+@.+\\..*/"}
Run Code Online (Sandbox Code Playgroud)

ruby email url ruby-on-rails

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

如何将多个设计模型重定向到多个特定网址?

我有三个独立的设计模型,我有三个不同的sign_in屏幕.这三个人都有一个仪表板:

devise_for :md1
devise_for :md2
devise_for :md3

match 'md1/dashboard' => 'md1#dashboard', :via => :get
match 'md2/dashboard' => 'md2#dashboard', :via => :get
match 'md3/dashboard' => 'md3#dashboard', :via => :get
Run Code Online (Sandbox Code Playgroud)

我希望当有一个mdX成功登录时,它会重定向到mdX#dashboard,如果有可能通过GET.我试过了:

devise_scope :md1 do
  root :to => 'md1#dashboard'
end
devise_scope :md2 do
  root :to => 'md2#dashboard'
end
devise_scope :md3 do
  root :to => 'md3#dashboard'
end
Run Code Online (Sandbox Code Playgroud)

然后当我用md1成功登录时,我被重定向到md1仪表板,但是当我成功登录md2时,我被重定向到md1的sign_in屏幕.然后我尝试了:

def after_sign_in_path_for resource
  dashboard_path resource
end
Run Code Online (Sandbox Code Playgroud)

但是没有这样的方法.有没有一种简单的方法可以做到这一点,或者必须与if每个模型的语句一起使用?

UPDATE

一些路线可以更好地理解和获取更多信息以获得更好的解决方案

md1_dashboard GET    /md1/dashboard(.:format)        md1#dashboard
md2_dashboard GET    /md2/dashboard(.:format)        md2#dashboard
md3_dashboard GET    /md3/dashboard(.:format)        md3#dashboard
Run Code Online (Sandbox Code Playgroud)

提前致谢

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

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

如何仅将数字的字符串哈希值转换为整数

我有从几个不同的XML数据库转储导入的哈希行,看起来像这样(但使用不同的键):

{"Id"=>"1", "Name"=>"Cat", "Description"=>"Feline", "Count"=>"123"}
Run Code Online (Sandbox Code Playgroud)

我尝试使用#to_i但它将非数字字符串转换为0:

"Feline".to_i
# => 0
Run Code Online (Sandbox Code Playgroud)

但我想是一种方式"Feline"仍然是一个字符串,而IdCount在上面的例子中变得整数1123.

有一种简单的方法来转换只有字符串值,其数字为整数?

ruby string integer type-conversion

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

如何在rails 4.2.1中模拟文件来测试文件上传

我正在尝试测试从 CSV 导入产品的操作。

我能够通过第一个测试。params[:file]作为字符串发送到控制器,这"#<StringIO:0x007fc0d40a0bd0>"不会使我的测试失败,但这不是正确的行为。

第二次测试我收到以下错误

private method `gets' called for  #<ActionDispatch::Http::UploadedFile:0x007fd391de0a00>
Run Code Online (Sandbox Code Playgroud)

这是我的规范(内容是 CSV 内容)

  # spec/controllers/products_controller_spec.rb

  describe 'POST import with file' do
    before do
      post :import, file: file
    end

    context 'with invalid data' do
      subject { Spree::Product.count }
      let(:file) { StringIO.new("") }
      it { is_expected.to eq 0 }
    end

    context 'with valid data' do
      subject { Spree::Product.count }
      let(:file) { ActionDispatch::Http::UploadedFile.new(params) }

      let(:params) do
        {
          original_filename: 'file.csv',
          content_type: 'text/csv',
          tempfile: StringIO.new(content)
        }
      end

      it { is_expected.to …
Run Code Online (Sandbox Code Playgroud)

csv rspec ruby-on-rails rails-4-2-1

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

在选择器中返回JQuery中的true或false?

如果我在元素中有一串文本,那么如果该文本与给定字符串匹配,jQuery中返回的最有效方法是什么.

例如,

<div id="myDiv">This is a test</div>

$("#myDiv").eq("This is as test"); // returns true or false
Run Code Online (Sandbox Code Playgroud)

但是eq不是正确的功能

html javascript jquery

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