小编ben*_*ben的帖子

我可以在RoR的视图中使用redirect_to吗?

在我的应用程序中,我有一个小框出现在每个页面上,检查用户发出的请求的状态.如果随时接受请求,则应自动将用户带到某个页面.到目前为止这是我的代码:

 <% offersMade.each do |w| %>
  <% if w.accepted == true %>
   <% redirect_to offer_path(:email => "email@gmail.com") %>
  <% end %>
 <% end %>
Run Code Online (Sandbox Code Playgroud)

但是我收到了这个错误:

undefined method `redirect_to' for #<ActionView::Base:0x1042a9770>
Run Code Online (Sandbox Code Playgroud)

是否无法在视图中使用redirect_to?如果没有,我还能用其他东西吗?谢谢阅读.

ruby-on-rails

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

我怎样才能找出为什么宝石包已经锁定特定版本的宝石?

我正在尝试在我的gem文件中指定thrift gem的一个版本.

gem 'thrift', "~> 0.6.0"
Run Code Online (Sandbox Code Playgroud)

当我试图运行时bundle install,我收到此错误:

You have requested:
  thrift ~> 0.6.0

The bundle currently has thrift locked at 0.5.0.
Try running `bundle update thrift`
Run Code Online (Sandbox Code Playgroud)

如何找出导致它被锁定在早期版本的原因?它是否符合我在gem文件中列出的另一个gem的要求?

或者它只是由安装版本为0.5.0引起的,并且在gem文件中指定版本不会更新已安装的gem?

ruby gem bundler

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

如何限制Paperclip仅接受图像?

如何限制Paperclip仅接受图像?如果相关,我正在使用Amazon S3进行存储.谢谢阅读.

ruby-on-rails paperclip

13
推荐指数
2
解决办法
7582
查看次数

如何模拟jQuery UI单选按钮上的单击?

我有一些单选按钮

<div id="typeRadios">
    <input id="character_chartype_a" name="character[chartype]" type="radio" value="A" /><label for="character_chartype_a">A</label>
    <input id="character_chartype_a" name="character[chartype]" type="radio" value="B" /><label for="character_chartype_b">B</label>
</div>
Run Code Online (Sandbox Code Playgroud)

我转向jQuery UI按钮

$("#typeRadios").buttonset();
Run Code Online (Sandbox Code Playgroud)

我可以使用哪一行代码来模拟其中一个按钮的点击?我试过这个

// here data.chartype equals "A"
$("input[value='"+data.chartype+"']").click();
Run Code Online (Sandbox Code Playgroud)

但它不起作用.谢谢阅读.

javascript jquery click

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

将ActiveRecord对象的所有属性(除了id,created_at,updated_at除外)设置为nil的最简单方法是什么?

将ActiveRecord对象的所有属性(除了id,created_at,updated_at除外)设置为nil的最简单方法是什么?

ruby-on-rails

12
推荐指数
2
解决办法
4681
查看次数

如何从配置文件夹加载文件?

我正在尝试使用evernote gem访问Evernote API.在这些说明中,它说要创建包含API帐户详细信息的配置文件,然后按如下方式加载配置文件:

config = File.dirname(__FILE__) + "/config.yml"
user_store = Evernote::UserStore.new(user_store_url, config, "sandbox")
Run Code Online (Sandbox Code Playgroud)

evernote.yml在config文件夹中创建了一个文件,并将以下代码放入home操作中pages_controller.rb

config = File.dirname(__FILE__) + "/evernote.yml"
user_store = Evernote::UserStore.new(user_store_url, config, "sandbox")
Run Code Online (Sandbox Code Playgroud)

代码运行时,我在第二行收到此错误

Errno::ENOENT in PagesController#home
No such file or directory - /Users/ben/rails_projects/evernote_app/app/controllers/evernote.yml
Run Code Online (Sandbox Code Playgroud)

如何在不收到此错误的情况下加载配置文件?

ruby-on-rails

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

如何使用string.tr在Ruby中用单引号替换双引号?

如何使用string.tr在Ruby中用单引号替换双引号?

ruby

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

为什么我得到这个'无法修改冻结哈希'错误?

我有一个Person模型和一个Item模型.一个人有很多项目,一个项目属于一个人.

在此代码中,我需要删除一个人的现有项目,并从参数(这是一个哈希数组)创建新的项目.然后,我需要根据其他一个字段更新项目的一个字段.

@person = Person.find(params["id"])

@person.person_items.each do |q|
    q.destroy
end

person_items_from_param = ActiveSupport::JSON.decode(params["person_items"])

person_items_from_param.each do |pi|
    @person.person_items.create(pi) if pi.is_a?(Hash)
end

@person.person_items.each do |x|
    if x.item_type == "Type1"
        x.item_amount = "5"
    elsif x.item_type == "Type2"
        x.item_amount = "10"
    end
    x.save
end
Run Code Online (Sandbox Code Playgroud)

x.item_amount = "5"&x.item_amount = "10"行上我得到这个错误:

RuntimeError in PersonsController#submit_items
can't modify frozen hash 
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?谢谢阅读.

ruby ruby-on-rails

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

如何安装不同版本的Rails并保留现有版本?

我安装了Rails 2.3.5,并希望升级到2.3.10作为Rails 3的垫脚石.我认为运行gem install rails -v = 2.3.10将安装2.3.10并保持2.3.5.但是现在当我做Rails -v时,它只列出了Rails 2.3.10.如何安装不同版本的Rails并保留现有版本?

ruby-on-rails

9
推荐指数
2
解决办法
4987
查看次数

在RSpec中,消息期望(接收)和测试间谍(has_received)之间有什么区别?

RSpec(特别是rspec-mocks)中,Message ExpectationsTest Spies之间有什么区别?它们看似相似,并且在自述文件中作为单独的部分出现在彼此旁边.

即有什么区别:

expect(validator).to receive(:validate) # message expectation
Run Code Online (Sandbox Code Playgroud)

expect(validator).to have_received(:validate) # test spy
Run Code Online (Sandbox Code Playgroud)

testing rspec ruby-on-rails mocking

9
推荐指数
2
解决办法
2457
查看次数

标签 统计

ruby-on-rails ×7

ruby ×3

bundler ×1

click ×1

gem ×1

javascript ×1

jquery ×1

mocking ×1

paperclip ×1

rspec ×1

testing ×1