我已使用hidden_field_tag设计重定向到我的应用程序的上一页设置。 现在我在我的网站上添加了最喜欢的动作,并且我喜欢该用户一旦点击收藏夹按钮就可以使用弹出窗口注册并且该收藏夹会被保存。 我使用模态创建了弹出框并且它正在工作但是一旦用户注册 - 显然没有创建最喜欢的。 我试图传递一个隐藏的字段只是为了像这样的模态
<%= hidden_field_tag("page_id", "favorite") %>
然后在application_controller上添加了
if params[:page_id] == "favorite"
favorite_item_path(@item, type: "favorite", method: :put)
end
项目控制器有这样的喜欢的动作
def favorite
@item = Item.find(params[:id])
type = params[:type]
if type == "favorite"
current_user.favorites << @item
redirect_to :back
elsif type == "unfavorite"
current_user.favorites.delete(@item)
redirect_to :back
else
redirect_to :back, notice: 'Nothing happened.'
end
端
这是模态
上的表格<%= form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %>
<%= devise_error_messages! %>
<div class="field">
<%= f.text_field :username, autofocus: true, placeholder: "Create a username", class: "form-control" %>
</div>
<br>
<div class="field">
<%= f.email_field :email, placeholder: "Enter your email", class: "form-control" %>
</div>
<br>
<div class="field">
<%= f.password_field :password, autocomplete: "off", placeholder: "Choose your password", class: "form-control" %>
</div>
<br>
<div class="actions">
<%= hidden_field_tag("page_id", "favorite") %>
<%= f.submit "Sign up", class: "btn" %>
</div>
<% end %>
当我尝试注册时,我收到以下错误
没有路线匹配{:action =&gt;&#34;收藏&#34;,:controller =&gt;&#34; items&#34;,:id =&gt; nil,:method =&gt;:put, :type =&gt;&#34;收藏夹&#34;}缺少必需的键:[:id]
如何在模态中传递id?
感谢