小编ipd*_*ipd的帖子

Java中的变量阴影

我对这个Java代码有些怀疑.它给出的输出是"毛茸茸的bray".我的问题:

  1. 为什么我得到这个输出?
  2. 如何在ZooKeeper类中访问String对象引用"name"?
  3. 如果它与变量阴影有关,那么哪个变量被遮蔽?

码:

class Mammal {
   String name = "furry ";
   String makeNoise() { return "generic noise"; }
 }
 class Zebra extends Mammal {
   String name = "stripes ";
   String makeNoise() { return "bray"; }
 }
 public class ZooKeeper {
   public static void main(String[] args) { new ZooKeeper().go(); }
   void go() {
     Mammal m = new Zebra();
     System.out.println(m.name + m.makeNoise());
     //Output comes as "furry bray". Please explain this.
     //And how can we access the name variable, the one …
Run Code Online (Sandbox Code Playgroud)

java

39
推荐指数
3
解决办法
6154
查看次数

设计路由:有没有办法从Rails.application.routes中删除路由?

devise_for创建包含DELETE路由的路由,我们要删除它,并且devise_for不支持:except:only选项.

如何从中删除路线Rails.application.routes?在draw街区或之后?


以下是错误的详细信息,这是我们需要删除路由的原因.

  • 我们向自定义UJS控制器操作发出DELETE请求

  • 在控制器操作中,我们删除了我们想要的内容,然后执行302重定向.这是一个坏主意,我们已经通过返回一些JSON来纠正它.

  • 一些客户端在收到302后会向重定向发出一个新的DELETE请求,该请求路由到Devise删除路由!从而无意中删除了这个人!让人惊讶.我们假设这将是一个GET.不好的假设.

这个错误已经修复,但我想删除路由.


以下是我最后所做的事情,这是由Jose'Valim引用的赏金获胜者所建议的:

config/routes.rb,我在devise_for呼叫上面添加了这个,它设置了其余的'people'路由:

delete '/person', :to => 'people#destroy'
Run Code Online (Sandbox Code Playgroud)

然后在我现有的people_controller.rb,我添加了一个无操作方法:

def destroy
  render :nothing => true
end
Run Code Online (Sandbox Code Playgroud)

我仍然有点恼火,没有一种简单的方法可以从RouteSet中删除路由.此外,delete路由仍然存在于设计控制器,但它不会被调用,因为rails查找第一个匹配config/routes.rb并返回它.

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

20
推荐指数
3
解决办法
9720
查看次数

将sass-rails gem升级到5.0会给出弃用警告

我们升级到sass-rails版本5.0.0并获得此弃用警告:

DEPRECATION WARNING: Extra .css in SCSS file is unnecessary. Rename /Users/foo/Projects/foo/app/assets/stylesheets/foo.css.scss to /Users/foo/Projects/foo/app/assets/stylesheets/foo.scss. (called from _app_views_layouts_application_html_erb__1560597815210891605_70190441246060 at /Users/foo/Projects/foo/app/views/layouts/application.html.erb:13)
Run Code Online (Sandbox Code Playgroud)

有谁知道这是怎么回事?gem是否真的希望我重命名我的所有样式表资源:

app/assets/stylesheets/foo.css.scss
Run Code Online (Sandbox Code Playgroud)

至:

app/assets/stylesheets/foo.scss
Run Code Online (Sandbox Code Playgroud)

似乎与我一起反对多年的Rails惯例.也许有办法抑制弃用警告?

ruby-on-rails sass asset-pipeline

16
推荐指数
2
解决办法
3180
查看次数

solr中的日志文件位置

我正在使用solr服务器(linux),有时它会自动停止.有人可以告诉我在哪里可以找到日志文件吗?

solr

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

如何让Capybara使用路由助手

我正在使用rails 3,Steak&Capybara.我有宁静的资源,是否可以使用路由助手可用于视图和控制器?

rspec ruby-on-rails capybara

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

Emacs搜索确切的单词

我大部分时间都在verilog工作,而我最喜欢的编辑器就是emacs.

我喜欢vi(vim)中的一个功能,但我不知道如何在emacs中执行此操作

我想做一个确切的单词搜索,例如 - 假设我有这样的文字:

1. wire                   axi_bvalid = bvalid;
2. wire                   axi_bready; // assigned later
3. assign                 axi_cross_fifo_pop = axi_bvalid & axi_bready 
4. wire                   axi = 1'b1;
Run Code Online (Sandbox Code Playgroud)

当搜索axi我想只在第4行得到匹配.今天Ctrl-S搜索将匹配每个实例axi.

在vim中,这样做的方法是在单词或/ \上按*.

emacs中有类似的东西吗?

谢谢分配,Jony

emacs xemacs

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

仅为一个表单提交操作设置目标_blank

我正在向我的rails应用程序提交一个表单,其中有两个提交按钮.它们都转到相同的控制器操作,并使用相同的表单,但在一个提交操作上,我想创建表单,target=_blank以便在新窗口中打开表单提交结果.

是否有捷径可寻?

这样做适用于这两个动作:

<%= simple_form_for @thingy, :target => '_blank' do |f| %>
Run Code Online (Sandbox Code Playgroud)

我已经习惯使用jQuery在表单上设置目标onclick,但没有运气.

html javascript jquery ruby-on-rails-3 simple-form

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

rspec测试协会

我想在我的rspec控制器测试中测试一名工作人员是否与公司相关联.

我想create在员工控制员的行动中最终得到这个:

staff.companies << current_company
Run Code Online (Sandbox Code Playgroud)

current_company从一个会话变量收集.

我该如何为此编写测试?

我有这些型号

class Company < ActiveRecord::Base
  has_many :employees
  has_many :staff, :through => :employees
end

class Employee < ActiveRecord::Base
  belongs_to :company
  belongs_to :staff
end

class Staff < ActiveRecord::Base
  has_many :employees
  has_many :companies, :through => :employees
end
Run Code Online (Sandbox Code Playgroud)

以下测试是我尝试指定关联,当我输入关联代码时它失败:

    it "should belong to the current_company" do
      staff.should_receive(:companies)
      post :create
    end
Run Code Online (Sandbox Code Playgroud)

如果我在控制器中输入'staff.companies << current_company'代码,运行该测试时会出现此错误:

 Failure/Error: post :create
 NoMethodError:
   You have a nil object when you didn't expect it!
   You might have expected an instance …
Run Code Online (Sandbox Code Playgroud)

rspec2 ruby-on-rails-3

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

如何在 Slack 模态中显示有关非输入块的验证错误

我有一个 Slack模态,其中section包含一个包含输入元素的块。当用户提交我的模态而没有在此输入中输入值时,我如何将该错误传达给用户?

我的尝试 #1:响应验证错误

Slack 的文档描述了如何input在我收到view_submission事件时验证块( https://api.slack.com/surfaces/modals/using#displaying_errors )。但是,如果我为section包含 a的块返回错误static_select,则 Slack 不会显示错误消息(也不会关闭模式)。

我的尝试 #2:将optional字段设置为 false

input块有一个optional可用于验证的字段。但是块static_select中的 asection没有optional字段:https : //api.slack.com/reference/block-kit/block-elements#select

我的尝试 #3:使用input

我不能使用input块,因为它们不会触发block_actions消息(记录在https://api.slack.com/surfaces/modals/using#interactions)。当用户回答问题时,我需要更新模态。

我的尝试 #4:绝望的解决方案

我可以view_submission"response_action": "update"响应来回复事件。在该响应中,在具有缺失值的输入上方包含这样的错误消息:

{
  "type": "section",
  "text": {
    "type": "mrkdwn",
    "text": "*Please provide a start time:*"
  }
}
Run Code Online (Sandbox Code Playgroud)

我不喜欢这个解决方案,因为我怀疑我是否可以复制 Slack 为 …

slack-api slack

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

使用facebook api在Facebook上分享文章

我有一个帮助用户提交文章的rails应用程序.有没有人知道如何让应用程序中的用户使用他们的Facebook地址在Facebook上分享这些文章?一个好的参考或教程会很好.

facebook ruby-on-rails

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