2012-07-03 2 views
1

내 경로 파일은 다음과 같습니다 레일 : 나는 기사의 속도 조치를 대상으로 작업과 양식을 생성하기 위해 노력하고있어때 form_tag 3

scope :locslug/:userslug do 
.... 
.... 

post 'rate/:stars' => 'articles#rate' :as => :rate_article 
end 

. 이상적으로 양식이 제출되면 평가가 생성되거나 업데이트됩니다. 다른 곳에서는 has_many 등급의 기사가 있습니다.

이 작동하지 않습니다

= form_tag rate_article_path, :method=>'post', :id => "rate_article" do 
    =hidden_field_tag :article_id, @article.id 
    =hidden_field_tag :stars, 0 
    =hiden_field_tag :user, current_user.id 

도움이 아주 많이 감사합니다. 고맙습니다.

답변

1

레일에 오류가 있습니까? 나는 당신이 당신의 경로에 잘못이 있다고 생각 :

post 'rate/:article_id' => 'articles#rate' :as => :rate_article 
: '속도/: 별이'당신이 경로를해야

rate_article_path (별 5 개를 위해 무언가 링크 rate_article_path (5))를 호출 할 때 매개 변수를 기대하는 레일을 알려줍니다

양식 : 컨트롤러

def rate 
    article = Article.find(params[:article_id]) 
    article.rates.create(:user => current_user, :stars => params[:stars]) 
end 

을에 지금

= form_tag rate_article_path(@article), :method=>'post', :id => "rate_article" do 
    =hidden_field_tag :stars, 0 

(정말 간단합니다. 몇 가지 유효성 검사를해야합니다. 무엇을 해야할지 생각해 보는 것입니다.)

+0

** 경로를 변경하여 ** : 별 ** 변수를 제거했습니다. 하지만 내 app.js 파일에서 ajax 게시물을 사용하려고했기 때문에 문제가 발생했습니다. 웬일인지, 내가 그것을했을 때, 내가 게시하는 행동은 항상 틀렸다. 필자는보기에서 * : remote => true *로 바꾸 었으며 예상대로 모든 것이 작동합니다. 그럼에도 불구하고 당신의 도움에 감사드립니다. – berto77

관련 문제