我有几个不同的链接,除了一个小的区别,其他的都是一样的。是否可以将它们全部链接到同一路径,但使用不同的参数来更改控制器中一个微小差异的行为?
我在想这样的事情:
看法

<%= link_to "Link-A", link_path(@user), @x = 1 %>
<%= link_to "Link-B", link_path(@user), @x = 2 %>

用户控制器.rb
def link
  @user = User.find(params[:id])
  #code that should be executed for both links
  if @x == 1
    #do something
  elsif @x == 2
    #do something else
  end
end

我知道这个特定的代码可能还不够正确,但希望它能清楚地说明我要做什么。

最佳答案

观点:

<%= link_to "Link-A", link_path(@user, x: 1) %>
<%= link_to "Link-B", link_path(@user, x: 2) %>

控制器:
def link
  @user = User.find(params[:id])
  x = params[:x]

  #code that should be executed for both links

  if x == 1
    #do something
  elsif x == 2
    #do something else
  end
end

关于ruby-on-rails - 我可以将参数传递到 Controller 路径吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29041676/

10-12 17:09
查看更多