【发布时间】:2015-11-29 16:30:13
【问题描述】:
我正在尝试在 Rails 应用程序中实现报价保存功能。我有一个 has_many :quotes 的用户模型和一个属于_to :user 的报价模型。现在我有一个单独的书籍模型,它将成为这些报价的来源。
在 Book 的 show.html.erb 文件中,我有一个表单来保存当前用户的引号
<%= form_for (@new_quote) do |f| %>
<div class="field">
<%= f.hidden_field :book_id, :value => @new_comment.book_id %>
<%= f.text_field :body %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
在 Book 控制器中,我有
def show
@new_quote = current_user.quotes.create(book_id: params[:id])
end
报价保存得很好,但问题是,由于我在 show 方法中有这个 Quote 创建语句,每次我转到我的 Book 模型的 show.html.erb 页面时,它都会创建一个空正文的 Quote。
我能做些什么来解决这个问题?我在想它可能会涉及将这个 Quote 创建移动到 Quote 控制器的实际创建方法,但我不知道如何准确地传递参数。
【问题讨论】:
标签: ruby-on-rails ruby devise rails-activerecord