2015-12-06 39 views
0

在view.html.erb,我想用這樣的:點擊時更新`link_to`助手;軌道4

<tbody> 
    <% @books.each do |book| %> 
     <tr> 
     <td><%= book.title %></td> 
     <td><%= book.author %></td> 
     <td><%= link_to 'Show', book, class: 'btn btn-mini btn-primary' %></td> 
     <td><%= link_to 'Edit', edit_book_path(book), class: 'btn btn-default' %></td> 
     <td><%= link_to 'Destroy', book, method: :delete, data: { confirm: 'Are you sure?' }, class: 'btn btn-mini btn-danger' %></td> 
     <td><%= link_to 'Reserve it', books_path(book, :situation_id => 2), class: "btn btn-mini btn-success" %></td> 
     </tr> 
    <% end %> 
    </tbody> 

當我點擊按鈕「儲備吧」,我想,這本書的領域「situation_id」成爲等於2.

我該怎麼做?

+0

不確定,但onclick();可能會幫助你。就像你可以嘗試使用javascript推送situation_id = 2的值。你有嘗試過這種方式嗎? – Abhinay

+0

謝謝你的回答Abhinay。我沒有試圖像你說的那樣做。你怎麼做呢?我很抱歉,我是一名初學者,英語初學者(對不起)。 – Joker

+0

由於您是新手,因此您可以閱讀:http://meta.stackexchange.com/questions/10647/how-do-i-write-a-good-title/10648#10648。儘量寫簡短而翔實的問題標題。 – Abhinay

回答

0

如果一本書有情景關聯(並且您的關聯設置正確),那麼您可以將它作爲參數傳遞給<%= link_to'保留它',books_path(book,:situation_id => book.situation_id ),...%>

但是,您不應該將它傳遞給situation_id param,因爲您可以使用您將要訪問的book實例變量來獲取它。換句話說,你可以做

def show 
    @book = Book.find(params[:id]).include(:situation) 
end 

和你的書將加載的情況,以及它會在你的書中顯示視圖中可用。

+1

不知道這是如何回答這個問題。聽起來像OP想要將書的situation_id設置爲2,一旦按鈕被點擊。 –

+0

是的,當我點擊按鈕時,我想將本書的situation_id更改爲2(之前設置爲1)。 Situation_id已經與Book正確關聯。我沒有成功做到這一點。謝謝您的回答 – Joker

0

不是Rails解決方案,但我希望這可以幫助您思考正確的方向。

<!DOCTYPE html> 
<html> 
<head> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> 
<script> 
$(document).ready(function(){ 
    $("#link").click(function(){ 
$("a").attr("href", function(i, href) { 
    return href + 'books/?situation_id=2'; 
}); 
    }); 
}); 
</script> 
</head> 
<body> 
<a href="" id="link" >hello</a> 
</body> 
</html>