小编Nik*_*iko的帖子

编辑静态tableView单元格部分

我有一个静态tableView与一些自定义单元格.我不想做的是以编程方式更改节标题.据我所知,因为单元格是静态的,我不能使用像cellForRowAtIndexPath这样的方法,所以我的问题是,它是否可能像它一样改变它们.

self.tableView.section1.text = @"title1"; // something like this?
Run Code Online (Sandbox Code Playgroud)

我试图创建该部分的IBOutlet但我收到以下错误:

Unknown type name 'UITableViewSection': did you mean 'UITableViewStyle?'
Run Code Online (Sandbox Code Playgroud)

我能做的是编辑单元格的内容,但不是标题.

谢谢!

xcode static cell tableview ios

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

Rails控制器/模型方法

我正在观看Code School Rails测试课程.有一个类的实例zombie.该zombie模型有一个方法:

def avatar_url
  ...
end
Run Code Online (Sandbox Code Playgroud)

在测试中,.rb文件具有以下内容:

z.avatar_url
Run Code Online (Sandbox Code Playgroud)
  1. 当我调用这样的方法时,如果我调用控制器或模型方法,Rails如何区分?我没有想过从控制器以外调用模型方法,只是喜欢Model.method和不喜欢object.method.
  2. 如果我的控制器和我的模型都有一个同名的方法,那么Rails如何知道要调用哪一个?

更新:

让我们以String类为例,它不是模型,对吧?

所以我可以说:

s = String.new
s.capitalize
Run Code Online (Sandbox Code Playgroud)

如果此调用没有转到模型而不是控制器,那么它在哪里?在Rails目录中定义类似String的类在哪里?

ruby ruby-on-rails

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

测试设计 - Capybara :: ElementNotFound:无法找到xpath"/ html"

我正在尝试使用RSpec,Capybara和Factory Girl测试我网站的登录功能.我总是在终端中收到以下错误,但找不到任何解决方案.当我使用时,save_and_open_page我得到一个空白页面.我希望有人知道什么是错的.谢谢!

这里是 test output

Failure/Error: expect(page).to have_text("Login successful.")
     Capybara::ElementNotFound:
       Unable to find xpath "/html"
     # ./spec/features/navigation_spec.rb:49:in `block (2 levels) in <top (required)>'
Run Code Online (Sandbox Code Playgroud)

这是我的sometest_spec.rb文件与相应的行:

require 'spec_helper'
include Warden::Test::Helpers

describe "User login" do
  it "log in normal user" do

    Warden.test_mode!

    user = create(:normal_user)
    user.confirmed_at = Time.now
    user.save
    login_as(user, scope: :user)

    expect(page).to have_text("Login successful.")

    logout(:user)
    Warden.test_reset!
  end
end
Run Code Online (Sandbox Code Playgroud)

这是我的factory_girl.rb档案

RSpec.configure do |config|
  config.include FactoryGirl::Syntax::Methods
end
Run Code Online (Sandbox Code Playgroud)

factories.rb文件

FactoryGirl.define do
  factory :normal_user, class: User do
    firstname …
Run Code Online (Sandbox Code Playgroud)

rspec ruby-on-rails capybara factory-bot

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

访问UIAlertControllers textField

我想,我在处理程序操作中访问UIAlertController的textField时遇到了麻烦.我已经用Google搜索了错误,但没有从中得到太多.我正在使用Swift和Xcode 6.0.1.这是错误:

'[AnyObject]?' does not have a member named 'subscript'

@IBAction func addPressed(sender: UIBarButtonItem) {
    var alert = UIAlertController(title: "New Event", message: "Name of the event?", preferredStyle: .ActionSheet)
    alert.addTextFieldWithConfigurationHandler(){
        textField in
        textField.placeholder = "Christmas"
        textField.becomeFirstResponder()
    }
    alert.addAction(UIAlertAction(title: "Save", style: .Default, handler: {
        action in
        var text = alert.textFields[0].text // <-- cant access alert? The exclamation mark appears here
    }))

}
Run Code Online (Sandbox Code Playgroud)

使用((alert.textFields[0] as UITextField).text)给了我完全相同的错误.

xcode ios swift uialertcontroller

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

使用酶测试反应确认窗口

我在React中有一个按钮,当用户点击它时会打开一个简单的确认窗口.在我添加确认方法之前,下面的测试是绿色的.添加确认后,它是红色的.如何更改测试以使用其他确认?

反应删除按钮:

const DeleteButton = (props) => {
  const handleDelete = () => {
    if(confirm("Are you sure?")) {
      props.onDelete(props.id)
    }
  };

  return (
      <Button className="btn" onClick={handleDelete}>
        <i className="fa fa-trash-o"></i>
      </Button>
  );
};
Run Code Online (Sandbox Code Playgroud)

这是测试(使用酶):

describe('<DeleteButton />', () => {
  it("deletes the entry", () => {
    const onDelete = sinon.spy();
    const props = {id: 1, onDelete: onDelete};
    const wrapper = shallow(<DeleteButton {...props} />);
    const deleteButton = wrapper.find(Button);

    deleteButton.simulate("click");
    expect(onDelete.calledOnce).to.equal(true);
  });
});
Run Code Online (Sandbox Code Playgroud)

reactjs enzyme

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

全球NSOperationQueue

我正在尝试创建一个NSOperationQueue并为其添加一个NSOperation.后来我不想检查队列是否正在运行并且可能中止它.所有这些都应该从不同的函数中调用.这样做的最佳方法是什么?我会很高兴一个代码示例.谢谢!

xcode objective-c nsoperation nsoperationqueue

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

Rails minitest设计错误

我目前正在进行我的第一次测试,但是我遇到了一个我似乎无法解决的问题.我现在已经搜索了几个小时的解决方案并发现了类似的错误,但我没有找到任何解决方案.也许是因为版本差异,我不知道.

当我用minitest编写单元测试时,问题就出现了,也许还有集成测试.我正在使用设计来管理用户.

这是我在终端时出现的错误rake test:

1) Error:
test_deactivate_enrolment(EnrolmentTest):
NoMethodError: undefined method `env' for nil:NilClass
    /Users/myname/.rvm/gems/ruby-2.0.0-p353/gems/devise-3.0.3/lib/devise/test_helpers.rb:24:in `setup_controller_for_warden'
    /Users/myname/.rvm/gems/ruby-2.0.0-p353/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:429:in `_run__840473936918917337__setup__1779200460764756091__callbacks'
    /Users/myname/.rvm/gems/ruby-2.0.0-p353/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:405:in `__run_callback'
    /Users/myname/.rvm/gems/ruby-2.0.0-p353/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:385:in `_run_setup_callbacks'
    /Users/myname/.rvm/gems/ruby-2.0.0-p353/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:81:in `run_callbacks'
    /Users/myname/.rvm/gems/ruby-2.0.0-p353/gems/activesupport-3.2.13/lib/active_support/testing/setup_and_teardown.rb:35:in `run'
    /Users/myname/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/minitest/unit.rb:919:in `block in _run_suite'
    /Users/myname/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/minitest/unit.rb:912:in `map'
    /Users/myname/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/minitest/unit.rb:912:in `_run_suite'
    /Users/myname/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/test/unit.rb:657:in `block in _run_suites'
    /Users/myname/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/test/unit.rb:655:in `each'
    /Users/myname/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/test/unit.rb:655:in `_run_suites'
    /Users/myname/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/minitest/unit.rb:867:in `_run_anything'
    /Users/myname/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/minitest/unit.rb:1060:in `run_tests'
    /Users/myname/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/minitest/unit.rb:1047:in `block in _run'
    /Users/myname/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/minitest/unit.rb:1046:in `each'
    /Users/myname/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/minitest/unit.rb:1046:in `_run'
    /Users/myname/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/minitest/unit.rb:1035:in `run'
    /Users/myname/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/test/unit.rb:21:in `run'
    /Users/myname/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/test/unit.rb:774:in `run'
    /Users/myname/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/test/unit.rb:366:in `block (2 levels) in autorun'
    /Users/myname/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/test/unit.rb:27:in `run_once'
    /Users/myname/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/test/unit.rb:365:in `block in autorun'
Run Code Online (Sandbox Code Playgroud)

这就是我的spec_helper.rb样子:

require 'listen'

Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { …
Run Code Online (Sandbox Code Playgroud)

testing unit-testing ruby-on-rails minitest devise

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

订购ActiveRecord关系对象

我有一个名为的ActiveRecord对象contact.它有一种称为的关系profiles.这些配置文件具有url属性.应按字母顺序按URL排序配置文件.我试过sort_by,以及order,但我得到这个错误:

contact.profiles.sort_by! { |profile| profile.url }
undefined method `sort_by!' for #<Profile::ActiveRecord_Associations_CollectionProxy:0x00000105d6d430>
Run Code Online (Sandbox Code Playgroud)

最好的方法是什么?我正在使用Rails v4.1.0.

activerecord ruby-on-rails

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

Codeigniter消息:未定义的属性:stdClass

我正在尝试使用模型中的以下查询来查询数据库:

function showSpecific(){

    $all = $this->session->all_userdata();
    $name = $all['u_name'];

    $id = $this->db
    ->select('u_id')
    ->from('users')
    ->where('u_name', $name)
    ->get()
    ->row(); 

    $id = $id->u_id; 

    $data = $this->db->query("SELECT messages.m_id, messages.post_id, messages.m_betreff, messages.an_user, messages.von_user, messages.m_time, users.u_id, users.u_name, posts.p_titel, users.u_id, messages.m_content
                FROM messages
                INNER JOIN users 
                ON messages.von_user=users.u_id
                INNER JOIN posts
                ON messages.post_id=posts.post_id
                WHERE messages.an_user='$id'
                ORDER BY messages.m_time DESC");




    return $data;
}
Run Code Online (Sandbox Code Playgroud)

但是当我尝试在视图中输出结果时:

<?php foreach ($query->result() as $row)
                {
                    echo '<tr><td>';
                    echo anchor('users/showUser/'.$row->u_id, $row->u_name);
                    echo '</td><td>';
                    echo $row->m_betreff;
                    echo '</td><td>';
                    echo $row->m_content;
                    echo '</td><td>';
                    echo anchor('posts/showSpecific/'.$row->post_id, …
Run Code Online (Sandbox Code Playgroud)

php sql codeigniter

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

未找到Heroku Rails页面

我正在尝试在heroku上部署示例rails应用程序.创建一个非常基本的应用程序,添加一个git存储库,提交所有内容和"heroku创建"后,我将其推送到heroku.终端没有任何错误,但是当我用正确的地址打开浏览器时,我得到以下内容:

The page you were looking for doesn't exist.

You may have mistyped the address or the page may have moved.
Run Code Online (Sandbox Code Playgroud)

我搜索了三个小时并使用了heroku教程如何部署应用程序,但我无法弄清楚我做错了什么.这是我的Gemfile:

source 'https://rubygems.org'

ruby '2.0.0'

gem 'rails', '4.0.0.beta1'

# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'

gem 'json'

group :production do
  gem 'pg'
  gem 'rails', '4.0.0.beta1'
  gem 'railties', '4.0.0.beta1'
end

# Gems used only for assets and not required
# in production environments by default.
group :assets do
  #gem 'sass-rails',   '~> 3.2.3'
  gem 'sass-rails',   '~> 4.0.0.beta1' …
Run Code Online (Sandbox Code Playgroud)

deployment ruby-on-rails heroku gemfile

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