在view.html.erb中,我想使用类似:
的内容 <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>
当我点击按钮&#34;保留它&#34;时,我希望该字段&#34; situation_id&#34;这本书等于2。
我该怎么做?
答案 0 :(得分:0)
如果一本书有情境关联(并且您的关联设置正确),那么您可以将其作为参数传递给&lt;%= link_to&#39;保留它&#39;,books_path(book,:situation_id) =&gt; book.situation_id),...%&gt;
但是,你不应该把它传递给situation_id param,因为你可以使用你要去的书籍实例变量来获取它。换句话说,你可以做到
def show
@book = Book.find(params[:id]).include(:situation)
end
并且您的图书也会加载情况,并且会在您的图书展示视图中显示。
答案 1 :(得分: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>