我在控制器中创建了一些公共方法,它做了一些工作.
def current_service
service_name = params[:controller].gsub('api/v1/', '').gsub(%r{/.+}, '')
end
Run Code Online (Sandbox Code Playgroud)
我想使用RSpec测试这个方法,但我不知道怎样才能使用params.我该怎么办?
我正在发送 HTTP POST 请求:
data = { id: 1, name: 'ABC' }
uri = URI.parse('http://localhost:3000/events')
http = Net::HTTP.new(uri.host, uri.port)
http.post(uri, data.to_json)
Run Code Online (Sandbox Code Playgroud)
我的路线文件:
Rails.application.routes.draw do
post '/events' => 'receiver#create'
end
Run Code Online (Sandbox Code Playgroud)
而创建方法看起来像:
def create
package = {
id: ,
name:
}
end
Run Code Online (Sandbox Code Playgroud)
如何访问通过请求传递的数据值?我的目标是将其分配给创建方法中的新哈希
我有两个组件。在成功的服务器响应的第一个中,我想要执行以下操作:
this.router.navigate(['']);
this.snackBarMessage = 'Successfully submitted';
Run Code Online (Sandbox Code Playgroud)
然后页面被重定向到另一个组件,我想在那里显示 SnackBarMessage 消息,例如 (ngOnInit())
像这样的东西:
this.snackBarService.openSnackBar(snackBarMessage, 'Close', 9999999);
Run Code Online (Sandbox Code Playgroud)
我的小吃吧服务:
import { Injectable } from '@angular/core';
import { MatSnackBar } from '@angular/material';
@Injectable({
providedIn: 'root'
})
export class SnackBarService {
constructor(private matSnackBar: MatSnackBar) { }
openSnackBar(message: string, action: string, duration?: number) {
this.matSnackBar.open(message, action, { duration });
}
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?导航后如何传递snackBarMessage
到另一个组件?
我有一个包含5个元素的哈希,例如:
my_hash = {a: 'qwe', b: 'zcx', c: 'dss', d: 'ccc', e: 'www' }
Run Code Online (Sandbox Code Playgroud)
我的目标是每次循环哈希返回,但没有一个元素,如:
my_hash = {a: 'qwe', b: 'zcx', c: 'dss', d: 'ccc' }
Run Code Online (Sandbox Code Playgroud)
然后
my_hash = {a: 'qwe', b: 'zcx', c: 'dss', e: 'www' }
Run Code Online (Sandbox Code Playgroud)
等等
使用数组我会使用组合方法但是当我使用哈希?我想尽可能轻松地做到这一点
我在 centos 7 VPS 上为乘客设置了 Nginx。我将 nginx 和乘客安装为 gem。另外我安装了passenger-install-nginx-module。当我启动 sudo service nginx 并输入passenger-status 时,我得到“Phusion Passenger 当前没有为任何应用程序提供服务。”。从我的 nginx conf 文件
http {
passenger_root /usr/local/rvm/gems/ruby-2.4.1/gems/passenger-5.1.8;
passenger_ruby /usr/local/rvm/gems/ruby-2.4.1/wrappers/ruby;
passenger_app_env production;
passenger_instance_registry_dir /var/lib/passenger-instreg;
...
server {
listen 80;
server_name localhost;
root /home/myuserhere/current/public;
passenger_enabled on;
Run Code Online (Sandbox Code Playgroud)
文件passenger.* 在我重启nginx 时正常创建。
echo $PASSENGER_INSTANCE_REGISTRY_DIR
返回与 nginx conf 文件中相同的路径。
我做错了什么,passegner 不启动应用程序?