我正在创建一个按钮,该按钮将从用户向该文章的所有者发送100分。现在,我编写了以下代码,但Rails说:
文章中的ActionController :: UrlGenerationError#show |没有路线匹配{:action =>" upvote",:controller =>"预算",:id => 7}
可能出现什么问题?
控制器:
class BudgetsController < ApplicationController
def upvote
@article = Article.find(params[:id])
if @article.budgets.exists?(user_id: current_user.id)
@article.budgets.create
@article.budgets.user_id = current_user.id
@article.budgets.user_gill = 1000
end
@budget = @article.budgets.find(user_id: current_user.id)
end
end
HTML:
<div class = "row">
<div class = "col-md-1">
<%= button_to "+", {:action => "upvote", :controller => "budgets", :id => @article.id }%>
</div>
</div>
&#13;
型号:
class Article < ActiveRecord::Base
belongs_to :user
has_many :comments
has_and_belongs_to_many :budgets
end
class Budget < ActiveRecord::Base
belongs_to :user
has_and_belongs_to_many :articles
end
class User < ActiveRecord::Base
has_many :articles
has_many :comments
has_one :budget
end
路线:
resources :articles do
resources :comments
resources :budgets
end
resources :users do
resources :budgets
end
答案 0 :(得分:3)
using UnityEngine;
using System.Collections;
public class TESTspawner : MonoBehaviour {
//PUBLIC VARIABLES
public GameObject Enemy;
public int NumberOfEnemies;
public int NumberOfWaves;
public int TimeBetweenSpawns;
public int TimeBetweenWaves;
public Transform SpawnPoint;
//PRIVATE VARIABLES
private int EnemyCount = 0;
private int WaveCount = 0;
//Wait Co-routine
IEnumerator Wait(int x){
Debug.Log ("Wait Time start: " + Time.time);
yield return new WaitForSeconds(x);
Debug.Log ("Wait Time end: " + Time.time);
}
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
if(WaveCount < NumberOfWaves){
if(EnemyCount < NumberOfEnemies){
Instantiate(Enemy, SpawnPoint.position, Quaternion.identity);
EnemyCount++;
StartCoroutine(Wait(TimeBetweenSpawns));
}else{
StartCoroutine(Wait (TimeBetweenWaves));
WaveCount++;
}
}
}
}