OXp*_*845 12 ruby controller ruby-on-rails parameter-passing ruby-on-rails-3.1
我有点新手问题.我正试图将一个变量从我的视图传递给我的控制器.无论如何我的控制器中的方法可以从我的视图中接收变量吗?
Post view: show.html.erb:
....
<%=link_to "Add relationship", :method => :add_relationship(@rela) %>
Run Code Online (Sandbox Code Playgroud)
Controller: post.controller.rb:
def add_relationship(rela)
@post = Post.find(params[:id])
if current_user.id == @post.user_id
@post.rel_current_id = rela.id
@post.save
redirect_to relationships_url
else
redirect_to posts_url, :notice => "FY!"
end
end
Run Code Online (Sandbox Code Playgroud)
提前致谢 :)
Ste*_*eve 26
您可以通过link_to向params哈希添加信息.我不确定你到底想要做什么,但我最近做了类似这样的事情,当我链接到新邮件时添加我想要的电子邮件类型
<%= link_to 'Send Thanks', new_invoice_email_path(@invoice, :type => "thanks") %>
Run Code Online (Sandbox Code Playgroud)
现在我的params看起来像:
{"type"=>"thanks", "action"=>"new", "controller"=>"emails", "invoice_id"=>"17"}
Run Code Online (Sandbox Code Playgroud)
我可以通过参数访问该类型
email_type = params[:type]
Run Code Online (Sandbox Code Playgroud)
如果传入实例变量@rela而不是字符串,则将获得params散列中的object_id.
根据下面的评论,我正在添加我的路线以显示路径new_invoice_email_path的工作原理:
resources :invoices do
resources :emails
end
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
47785 次 |
最近记录: |