设计隐藏字段以进行重定向

时间:2016-10-01 11:28:23

标签: ruby-on-rails devise

我已使用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?

感谢

0 个答案:

没有答案