2011-11-24 192 views
-1

我有一個form_for一條評論。評論belongs_to問題。我在我的問題#show view中有一個評論表單,這是我form_for的地方。我在我的問題#show controller操作中創建了評論對象@comment。當我提交表單時,它會調用註釋#create controller操作。但是,我需要一個名爲issue_id的變量。我在問題#show view中擁有issue_id,我甚至可以將@comment對象設置爲具有issue_id。但是,當它傳遞給註釋#create controller時,issue_id不會在params [:comment]中傳遞,所以當註釋被創建並保存時,它不在那裏。下面是我的文件:似乎無法將變量傳遞給我的控制器

問題#顯示視圖:

<%= form_for @comment do |f| %> 
    <%= render 'comment_fields', :f => f %> 
    <%= f.submit "Submit" %> 
<% end %> 

問題#顯示控制器:

def show 
    @issue = Issue.find(params[:id]) 
    @votes = Votership.where(:issue_id => @issue.id) 
    @current_user_vote = @votes.where(:user_id => current_user.id).first 
    @comment = Comment.new(:issue_id => @issue.id) 
    end 

和評論#創建控制器在評論被創建:

def create 
    @comment = Comment.new(params[:comment]) 
    @comment.user = current_user 
    @comment.save 
    redirect_to :back 
    end 

我試着在窗體中添加一個隱藏字段,但它一直創建一個值的散列,關鍵是t他issue_id,但我不知道如何設置隱藏字段的值,這是奇怪的。我如何正確地做到這一點?

PS comments belongs_to issues。問題有很多意見。發佈belongs_to應用程序。應用程序有很多問題。

回答

0

我實際上並不瞭解你的抱怨,但是從我的理解中,你試圖將問題ID與評論一起保存。你應該有一個隱藏字段在您的形式像

<%= f.hidden_field :issue_id %> 

如果這不是你需要請讓我知道這樣我就可以再次幫助解決方案。

+0

哦我的!!!我一直試圖讓這個工作這麼久......這工作!謝謝。現在......這是做這件事的最好方法嗎?當我爲表單準備對象時,它包含issue_id,是否有更好的方法將該信息傳遞給註釋#create controller actioN? –

相關問題