2010-04-11 3 views
0

양식에 입력 된 매개 변수를 인쇄하려고합니다. 는 기본적으로 난 매개 변수를 표시하고 새 내기를 만들 :은 모든 컨트롤러보기에서 사용할 수있는 컨트롤러 작업의 인스턴스 변수입니까?

마이그레이션을

class CreateBets < ActiveRecord::Migration 

def self.up 
    create_table :bets do |t| 
    t.integer :accepted ,:default => 0 
    t.integer :user_1_id #proposer 
    t.integer :user_2_id #receiver 
    t.integer :team_1_id #proposer's team 
    t.integer :team_2_id #receiver's team 
    t.integer :game_id 
    t.integer :winner 
    t.integer :amount 
    t.timestamps 
    end 
end 

    def self.down 
    drop_table :bets 
    end 
end 

CONTROLLER

bets_controller.erb

class BetsController < ApplicationController 

    def index 
    redirect_to new_bet_path 
    end 

    def new 
    @b=Bet.new 
    end 

    def create 
    @points=params[:points] 
    @winner=params[:winner] 
    end 

end 

VIEWS New.erb

<% facebook_form_for Bet.new do |f| %> 
    <%= f.text_field :amount, :label=>"points" %> 
    <%= f.text_field :winner, :label=>"WinningTeam" %> 
    <%= f.buttons "Bet" %> 
<% end %> 
,536

points:<%= @points %> 
<br> 
winner:<%= @winner %> 

create.erb 나는 인스턴스 변수와 코드가 작동을 만들기 위해 시도했지만 중 하나가 작동하지 않았다. 문제가 어디에 있습니까?
감사합니다.

답변

1

params[:winner]params[:point]은 비어있는 해시라고 생각합니다. 당신의 create.erb이 추가보십시오 : 당신이 그것을 얻을하는 방법을 볼 수 있도록

params: <%= params.inspect %> 

그것은 당신의 params 해시를 표시합니다.

또 다른 힌트, new 동작에 새 개체를 생성하는 이유와 다시 양식을 작성하는 이유는 무엇입니까? 그래서 :

<% facebook_form_for @b do |f| %> 

그리고 또 다른 한가지는, 명명 규칙을 유지하기 위해, 그래서 @b 개체 만 @bet을 생성하지 않는 정말 좋은 것입니다.

create 행동에서 당신은 다음과 같은 라인이 있어야합니다

@bet = Bet.new(params[:bet]) 

그리고보기 :

<p> 
    points:<%= @bet.points %> 
</p> 
<p> 
    winner:<%= @bet.winner %> 
</p> 

을 당신이 <br/>를 사용하는 것이 좋습니다 <br>를 사용하는 경우.

귀하의 index 행동은 완전히 쓸모가 없습니다. 모든 행동을 new 동작에서 index으로 이동하고 new 동작을 완전히 제거하는 것이 좋습니다.

0

나를 가리키는 것은 비어있는 것 같습니다. params[:winner]params[:point]. 당신은 서버 로그를 살펴봄으로써 당신이 얻고있는 것을 확인할 수 있습니다.

당신은

Processing BetsController#create (for 127.0.0.1 at 2010-04-11 20:56:51) [POST] 
Parameters: {"your"=>"parameters", "should"=>"apper in this hash"} 
같은 라인을 볼 수

관련 문제