小编Lah*_*iru的帖子

Rails 3/Form没有Model:如何创建一个与模型无关的表单?

我有一个模型,我有一个视图,显示一个基于该模型创建新对象的表单.我们称之为那种形式Form1.

用户提交后Form1,将创建该对象.然后,我想在下一页上显示第二个表单Form2,该表单要求用户在将对象保存到数据库之前检查各种选项.

我的问题可能非常基本.我不知道如何创建Form2,因为它不直接与模型绑定.因为我是Rails新手,所以我只创建了以下表格:

form_for(@object) { |f| ... }
Run Code Online (Sandbox Code Playgroud)

@object 是从模型实例化的对象

问题:我不相信这种代码在我的目的下会起作用.我如何创造Form2,因为它不能基于@object@object模型?

我的应用程序中的一些细节:

Form1在重定向到OAuth服务器之前,站点接受values().

当用户在OAuth服务器上验证其凭据时,她将被重定向回我的站点.一个XML-RPC请求,然后获取关于用户的账户上的信息OAuth服务器.

XML响应可能表明用户只有一个帐户上的OAuth服务器.如果是这样,则从中检索一些值XML并将其添加到对象中 - 然后(最终)将其保存在数据库中 - 并将用户重定向到成功页面.

但是,如果XML响应表明用户在OAuth服务器上有多个帐户,我想显示一个表单(Form2),允许用户选择OAuth服务器上与我的站点关联的帐户.因此,Form2确实要求用户创建多少对象,而不是关于对象的特定属性.

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

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

我如何在Ruby中使用(n)curses?

我想创建一个进度条来指示批处理作业的状态Ruby.

我已经阅读了一些关于使用(n)curses的教程/,其中没有一个特别有助于解释如何在终端中创建"动画"进度条或使用curses .Ruby

我已经知道使用一个单独的线程来监视给定作业的进度,我只是不确定如何继续绘制进度条.


更新

ProgressBar课程非常直接,完美地解决了我的问题.

ruby unix curses

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

Redmine:多次复制问题

复制一个问题及其子问题是一个本机内置功能,因此工作得很好.

但有多种方法可以多次这样做?就像重新创造一个问题(包括它的孩子)二十或五十次?

编辑2

这个新功能应该可以通过Redmine界面访问,并兼容任何浏览器.

它是一个全新的插件,内置复制功能的扩展,对一个PHP-script或其他任何东西的调用并不重要.由于兼容性(网络,浏览器等),我想完全服务器端修改是唯一的方法.

必须更改默认插件的哪些部分(在投票教程中创建)或核心元素?

我在哪里可以找到本机问题复制功能的代码?

或者 - 如果所有这些都太复杂 - 我如何编写我的插件指向直接PHP操作SQL数据库的文件?

编辑:

澄清:就像正常的复制功能(在上下文菜单或右上角的链接中,我不在乎)我想复制一个问题及其子问题n次.要让用户设置金额n,任何用户编号输入都可以,例如文本框,弹出窗口等.

ruby sql ruby-on-rails redmine

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

使用新的Devise进行移动应用程序的身份验证

我正在尝试使用Devisefor my Rails/ iOSapp 实现用户身份验证.我遇到了麻烦,因为我主要是Devise 的" 用户 ",并且正在将它用于纯网络应用程序,所以不需要为幕后发生的事情烦恼太多.现在我必须为基于API的应用程序构建身份验证,这完全是一个不同的世界.

我已经阅读了网络上处理这个主题的每一个教程(由于token_authenticatable已被弃用的事实,它们中的大多数已经过时)但仍然无法理解我需要做什么.

我还阅读了GitHub关于这个问题的原始要点,但仍然不明白他们在谈论什么.

我确信有些人就像我一样,只是一个" 用户 ",Devise所以不知道幕后发生了什么.

任何人都可以为移动应用程序实现基于API的身份验证系统提供简洁的解决方案吗?我的意思是它不可能那么复杂,Devise以前太棒了,因为我需要做的就是跑步rails generate,但这对我来说是个噩梦.

authentication mobile ruby-on-rails devise

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

我们很抱歉,但有些不对劲. - 使用Rails,Apache,Passenger

我有Rails3.2.3 ApachePassenger.

我有一个项目在开发模式下工作.当我将项目切换到生产模式(Passenger标准)时,它给了我一个HTTP Error 500:

我们很抱歉,但有些不对劲.

即使这样也会发生WEBrick.有人能帮助我吗?

编辑:

我的生产环境文件:http: //pastebin.com/ZAudSzkc

apache ruby-on-rails passenger webrick

24
推荐指数
2
解决办法
6万
查看次数

Rails eventmachine未初始化evma_install_oneshot_timer

我使用Rails 4.1.1,Thin 1.6.2,Redis 2.8.9(含Hiredis司机),和faye-rails宝石.

faye-rails用来订阅几个模型的变化,我Redis用于其他(无关)的东西.

当我试图调用create一个faye-observed模型(让我们说Apple)时,它会抛出这样的错误:

2.1.1 :001 > Apple.create
   (0.1ms)  BEGIN
  SQL (0.4ms)  INSERT INTO `apples` (`created_at`, `updated_at`) VALUES ('2014-06-01 17:26:54', '2014-06-01 17:26:54')
   (7.6ms)  ROLLBACK
RuntimeError: eventmachine not initialized: evma_install_oneshot_timer
    from /home/david/.rvm/gems/ruby-2.1.1/gems/eventmachine-1.0.3/lib/eventmachine.rb:323:in `add_oneshot_timer'
    from /home/david/.rvm/gems/ruby-2.1.1/gems/eventmachine-1.0.3/lib/eventmachine.rb:323:in `add_timer'
    from /home/david/.rvm/gems/ruby-2.1.1/gems/eventmachine-1.0.3/lib/em/timers.rb:12:in `initialize'
    from /home/david/.rvm/gems/ruby-2.1.1/gems/eventmachine-1.0.3/lib/em/deferrable.rb:173:in `new'
    from /home/david/.rvm/gems/ruby-2.1.1/gems/eventmachine-1.0.3/lib/em/deferrable.rb:173:in `timeout'
    from /home/david/.rvm/gems/ruby-2.1.1/gems/faye-1.0.1/lib/faye/protocol/envelope.rb:11:in `initialize'
    from /home/david/.rvm/gems/ruby-2.1.1/gems/faye-1.0.1/lib/faye/protocol/client.rb:357:in `new'
    from /home/david/.rvm/gems/ruby-2.1.1/gems/faye-1.0.1/lib/faye/protocol/client.rb:357:in `transport_send'
    from /home/david/.rvm/gems/ruby-2.1.1/gems/faye-1.0.1/lib/faye/protocol/client.rb:346:in `block in send'
    from /home/david/.rvm/gems/ruby-2.1.1/gems/faye-1.0.1/lib/faye/protocol/extensible.rb:23:in …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails redis faye ruby-on-rails-4

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

捆绑安装不起作用

我正在Windows上开发Ruby on Rails.

我们的本地网络出了问题,无法访问https://www.rubygems.org,好像被阻止了什么.

但我可以通过http://www.proxyfoxy.com访问它.

以下是结果bundle install:

$ bundle install

https://rubygems.org/获取源索引

由于错误而重试抓取器(2/4):Bundler :: HTTPError无法从https://rubygems.org/获取规范

由于错误而重试抓取器(3/4):Bundler :: HTTPError无法从https://rubygems.org/获取规范

由于错误而重试抓取器(4/4):Bundler :: HTTPError无法从https://rubygems.org/获取规范

无法从https://rubygems.org/获取规格

有没有其他方法来安装宝石bundle install

ruby bundle ruby-on-rails gemfile

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

ruby 有 global_variable_set 吗?

如果要在 Ruby 中制作一个 Tk GUI 并使用不同的全局变量名称制作多个复选框。最有效的方法是什么?

我找到了instance_variable_set,但这不适合我的场景。

我想知道是否有像global_variable_set.

例如。

    info = [orange,apple,banana,grape,watermelon]
    $var = TkVariable.New
    info.each_with_index {|inf,index|
      TkCheckButton.new(frame1) do 
        text "#{inf}"
        onvalue "#{inf}"
        variable global_variable_set("$var#{index}", inf)
      end
    end
Run Code Online (Sandbox Code Playgroud)

ruby

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

Oracle中的条件更新语句

我在Oracle中构建条件更新语句时遇到问题.为了便于理解,我将简化问题,基本上我的更新语句应如下所示:

UPDATE SAMPLE_TAB1 t 
   SET t.sample_column1 =NVL(t.sample_column1, **SOME LOGIC**);
Run Code Online (Sandbox Code Playgroud)

***SOME LOGIC***部分应如下所示:(请考虑这只是一个伪代码)

IF ((SELECT sample_column2 FROM SAMPLE_TAB2 
       WHERE sample_column2= sample_value2
       AND sample_column3  = sample_value3 )='FALSE' THEN 
   t.sample_column1 =0;
ELSE

   t.sample_column1 =(SELECT sample_column1 FROM SAMPLE_TAB3 
                         WHERE sample_column4= sample_value4
                         AND sample_column5  = sample_value5 )

END IF;
Run Code Online (Sandbox Code Playgroud)

关于这个问题的任何想法都会受到欢迎.谢谢.

sql oracle sql-update

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

Ruby字符串到哈希值

我刚开始学习Ruby!

我有以下字符串:

"Mark Smith, 29"
Run Code Online (Sandbox Code Playgroud)

我想将它转换为哈希,所以它看起来像这样:

{:name=>"Mark", :surname=>"Smith", :age=>29}
Run Code Online (Sandbox Code Playgroud)

我编写了以下代码,以减少输入:

a1 = string.scan(/\w+|\d+/)
Run Code Online (Sandbox Code Playgroud)

现在我有一个字符串数组.是否有一种优雅的方式将其转换为哈希?我知道我可以做三次这样的迭代:

pers = Hash.new
pers[:name] = a1[0]
pers[:surname] = a1[1]
pers[:age] = a1[2]
Run Code Online (Sandbox Code Playgroud)

但也许有办法使用.each方法或类似的东西吗?或者也许可以使用预定义的键定义类Person,(:name, :surname, :age)然后将我的字符串"抛出"到此类的实例中?

ruby hash

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